當前位置:首頁 > 科技 > 正文

dubbo消費者如何調用提供者,dubbo消費者配置

dubbo消費者如何調用提供者,dubbo消費者配置

各位老鐵們好,相信很多人對dubbo消費者如何調用提供者都不是特別的了解,因此呢,今天就來為大家分享下關于dubbo消費者如何調用提供者以及dubbo消費者配置的問題知...

各位老鐵們好,相信很多人對dubbo消費者如何調用提供者都不是特別的了解,因此呢,今天就來為大家分享下關于dubbo消費者如何調用提供者以及dubbo消費者配置的問題知識,還望可以幫助大家,解決大家的一些困惑,下面一起來看看吧!

dubbo怎么做限流和降級

您好,Dubbo可以通過以下方式實現限流和降級:

1.限流

(1)通過配置文件來進行限流,可以設置每個服務的最大并發數和每個IP的最大請求數。

(2)通過調整線程池大小來限制并發數。

(3)通過設置超時時間來限制請求處理時間。

(4)通過設置令牌桶算法或漏桶算法來限制請求速率。

2.降級

(1)通過配置文件來設置服務的降級策略,例如直接返回空,返回默認值,或者調用備用服務。

(2)通過設置Mock對象來模擬服務返回,以便在服務出現故障時進行降級。

(3)通過設置熔斷器來監控服務的狀態,當服務出現故障時自動切換到備用服務。

(4)通過設置失敗重試次數和重試間隔時間來嘗試重新調用服務。

dubbo的熔斷和降級解決辦法

談到服務降級,Dubbo本身就提供了服務降級的機制;而Dubbo的服務降級機制主要是利用服務消費者的mock屬性。使用Sentinel的,因為它提供了更加靈活的使用方式,并且支持更多的規則,還提供了一個易用強大的控制臺。

熔斷使用Sentinel,它提供了三大接入方式:利用sentinel-core組件進行硬代碼、利用sentinel-annotation-aspectj組件提供的注解功能、各種主流框架的接入方式。一般有三種方式為Dubbo接口接入限流和熔斷的機制。

duddo一定要用zookeeper嗎

可以不用,但會給自己增加多余的麻煩。

如果只用dubbo,每次服務提供者增加節點時,需要修改配置文件;

如果其中一個服務提供者宕機了,服務消費者是沒有感知的,所以還會繼續向宕機的服務發送請求

所以,需要引入配置中心,推薦使用zookeeper。

dubbo消費者是項目啟動就注冊嗎

服務啟動注冊的是服務提供方,消費方一般會根據配置是否在服務啟動時檢查服務提供方服務狀態

Java開發大型互聯網時如何使用Dubbo注冊中心實現集群

Dubbo建議使用Zookeeper作為服務的注冊中心。

Zookeeper集群中只要有過半的節點是正常的情況下,那么整個集群對外就是可用的。正是基于這個特性,要將ZK集群的節點數量要為奇數(2n+1:如3、5、7個節點)較為合適。

ZooKeeper與Dubbo服務集群架構圖

?

服務器1:192.168.1.81端口:2181、2881、3881

服務器2:192.168.1.82端口:2182、2882、3882

服務器3:192.168.1.83端口:2183、2883、3883

1、修改操作系統的/etc/hosts文件,添加IP與主機名映射:

#zookeeperclusterservers

192.168.1.81edu-zk-01

192.168.1.82edu-zk-02

192.168.1.83edu-zk-03

2、下載或上傳zookeeper-3.4.6.tar.gz到/home/wusc/zookeeper目錄:

$cd/home/wusc/zookeeper

$wgethttp://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3、解壓zookeeper安裝包,并按節點號對zookeeper目錄重命名:

$tar-zxvfzookeeper-3.4.6.tar.gz

服務器1:

$mvzookeeper-3.4.6node-01

服務器2:

$mvzookeeper-3.4.6node-02

服務器3:

$mvzookeeper-3.4.6node-03

4、在各zookeeper節點目錄下創建以下目錄:

$cd/home/wusc/zookeeper/node-0X(X代表節點號1、2、3,以下同解)

$mkdirdata

$mkdirlogs

5、將zookeeper/node-0X/conf目錄下的zoo_sample.cfg文件拷貝一份,命名為zoo.cfg:

$cpzoo_sample.cfgzoo.cfg

6、修改zoo.cfg配置文件:

zookeeper/node-01的配置(/home/wusc/zookeeper/node-01/conf/zoo.cfg)如下:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/wusc/zookeeper/node-01/data

dataLogDir=/home/wusc/zookeeper/node-01/logs

clientPort=2181

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

zookeeper/node-02的配置(/home/wusc/zookeeper/node-02/conf/zoo.cfg)如下:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/wusc/zookeeper/node-02/data

dataLogDir=/home/wusc/zookeeper/node-02/logs

clientPort=2182

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

zookeeper/node-03的配置(/home/wusc/zookeeper/node-03/conf/zoo.cfg)如下:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/home/wusc/zookeeper/node-03/data

dataLogDir=/home/wusc/zookeeper/node-03/logs

clientPort=2183

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

參數說明:

tickTime=2000

tickTime這個時間是作為Zookeeper服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個tickTime時間就會發送一個心跳。

initLimit=10

initLimit這個配置項是用來配置Zookeeper接受客戶端(這里所說的客戶端不是用戶連接Zookeeper服務器的客戶端,而是Zookeeper服務器集群中連接到Leader的Follower服務器)初始化連接時最長能忍受多少個心跳時間間隔數。當已經超過10個心跳的時間(也就是tickTime)長度后Zookeeper服務器還沒有收到客戶端的返回信息,那么表明這個客戶端連接失敗。總的時間長度就是10*2000=20秒。

syncLimit=5

syncLimit這個配置項標識Leader與Follower之間發送消息,請求和應答時間長度,最長不能超過多少個tickTime的時間長度,總的時間長度就是5*2000=10秒。

dataDir=/home/wusc/zookeeper/node-01/data

dataDir顧名思義就是Zookeeper保存數據的目錄,默認情況下Zookeeper將寫數據的日志文件也保存在這個目錄里。

clientPort=2181

clientPort這個端口就是客戶端(應用程序)連接Zookeeper服務器的端口,Zookeeper會監聽這個端口接受客戶端的訪問請求。

server.A=B:C:D

server.1=edu-zk-01:2881:3881

server.2=edu-zk-02:2882:3882

server.3=edu-zk-03:2883:3883

A是一個數字,表示這個是第幾號服務器;

B是這個服務器的IP地址(或者是與IP地址做了映射的主機名);

C第一個端口用來集群成員的信息交換,表示這個服務器與集群中的Leader服務器交換信息的端口;

D是在leader掛掉時專門用來進行選舉leader所用的端口。

注意:如果是偽集群的配置方式,不同的Zookeeper實例通信端口號不能一樣,所以要給它們分配不同的端口號。

7、在dataDir=/home/wusc/zookeeper/node-0X/data下創建myid文件

編輯myid文件,并在對應的IP的機器上輸入對應的編號。如在node-01上,myid文件內容就是1,node-02上就是2,node-03上就是3:

$vi/home/wusc/zookeeper/node-01/data/myid##值為1

$vi/home/wusc/zookeeper/node-02/data/myid##值為2

$vi/home/wusc/zookeeper/node-03/data/myid##值為3

8、在防火墻中打開要用到的端口218X、288X、388X

切換到root用戶權限,執行以下命令:

#chkconfigiptableson

#serviceiptablesstart

編輯/etc/sysconfig/iptables

#vi/etc/sysconfig/iptables

如服務器01增加以下3行:

##zookeeper

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport2181-jACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport2881-jACCEPT

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3881-jACCEPT

重啟防火墻:

#serviceiptablesrestart

查看防火墻端口狀態:

#serviceiptablesstatus

9、啟動并測試zookeeper(要用wusc用戶啟動,不要用root):

(1)使用wusc用戶到/home/wusc/zookeeper/node-0X/bin目錄中執行:

$/home/wusc/zookeeper/node-01/bin/zkServer.shstart

$/home/wusc/zookeeper/node-02/bin/zkServer.shstart

$/home/wusc/zookeeper/node-03/bin/zkServer.shstart

(2)輸入jps命令查看進程:

$jps

1456QuorumPeerMain

其中,QuorumPeerMain是zookeeper進程,說明啟動正常

(3)查看狀態:

$/home/wusc/zookeeper/node-01/bin/zkServer.shstatus

(4)查看zookeeper服務輸出信息:

由于服務信息輸出文件在/home/wusc/zookeeper/node-0X/bin/zookeeper.out

$tail-500fzookeeper.out

10、停止zookeeper進程:

$zkServer.shstop

11、配置zookeeper開機使用wusc用戶啟動:

編輯node-01、node-02、node-03中的/etc/rc.local文件,分別加入:

su-wusc-c'/home/wusc/zookeeper/node-01/bin/zkServer.shstart'

su-wusc-c'/home/wusc/zookeeper/node-02/bin/zkServer.shstart'

su-wusc-c'/home/wusc/zookeeper/node-03/bin/zkServer.shstart'

二、安裝Dubbo管控臺(基礎篇有講,此處重點講管控臺如何鏈接集群):

Dubbo管控臺可以對注冊到zookeeper注冊中心的服務或服務消費者進行管理,但管控臺是否正常對Dubbo服務沒有影響,管控臺也不需要高可用,因此可以單節點部署。

IP:192.168.1.81

部署容器:Tomcat7

端口:8080

1、下載(或上傳)最新版的Tomcat7(apache-tomcat-7.0.57.tar.gz)到/home/wusc/

2、解壓:

$tar-zxvfapache-tomcat-7.0.57.tar.gz

$mvapache-tomcat-7.0.57dubbo-admin-tomcat

3、移除/home/wusc/dubbo-admin-tomcat/webapps目錄下的所有文件:

$rm-rf*

4、上傳Dubbo管理控制臺程序dubbo-admin-2.5.3.war

到/home/wusc/dubbo-admin-tomcat/webapps

5、解壓并把目錄命名為ROOT:

$unzipdubbo-admin-2.5.3.war-dROOT

把dubbo-admin-2.5.3.war移到/home/wusc/tools目錄備份

$mvdubbo-admin-2.5.3.war/home/wusc/tools

6、配置dubbo.properties:

$viROOT/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper://192.168.1.81:2181?backup=192.168.1.82:2182,192.168.1.83:2183

dubbo.admin.root.password=wusc.123

dubbo.admin.guest.password=wusc.123

(以上密碼在正式上生產前要修改)

7、防火墻開啟8080端口,用root用戶修改/etc/sysconfig/iptables,

#vi/etc/sysconfig/iptables

增加:

##dubbo-admin-tomcat:8080

-AINPUT-mstate--stateNEW-mtcp-ptcp--dport8080-jACCEPT

重啟防火墻:

#serviceiptablesrestart

8、啟動Tomat7

$/home/wusc/dubbo-admin-tomcat/bin/startup.sh

9、瀏覽http://192.168.1.81:8080/

10、配置部署了Dubbo管控臺的Tomcat開機啟動:

在虛擬主機中編輯/etc/rc.local文件,加入:

su-wusc-c'/home/wusc/dubbo-admin-tomcat/bin/startup.sh'

dubbobeer是什么牌子

芭布歌服飾品牌,是以女式系列為主導產品的休閑服飾品牌。

自成立以來,便以完善的特許經營模式,時尚、前衛的流行款式和精湛的制作工藝贏得年輕消費者的喜愛。芭布歌服飾擁有專業的的設計師和優秀的營銷團隊。

品牌一經推出就受到廣大消費者的喜愛

關于dubbo消費者如何調用提供者的內容到此結束,希望對大家有所幫助。

主站蜘蛛池模板: 九月丁香婷婷亚洲综合色| 成人综合激情| 91精品国产综合久久香蕉| 99综合电影在线视频好看| 亚洲国产成人久久综合碰| 激情综合五月天| 久久久久久青草大香综合精品| 国产欧美视频综合二区| 国产成人综合色在线观看网站 | 国产色婷婷五月精品综合在线| 激情综合亚洲色婷婷五月APP| 亚洲第一区欧美国产不卡综合| 国产婷婷色综合AV蜜臀AV| 色诱久久久久综合网ywww| 免费精品99久久国产综合精品 | 国产成人亚洲综合无码| 久久综合色区| 五月六月综合欧美网站| 亚洲av日韩综合一区在线观看| 激情综合色五月丁香六月亚洲 | 一本色道久久88综合日韩精品| 国产激情电影综合在线看| 久久久久久久综合狠狠综合| 国产成人综合在线观看网站| 久久午夜综合久久| 在线综合+亚洲+欧美中文字幕| 色婷婷色综合激情国产日韩| 91成人亚洲综合欧美日韩| 国产精品无码久久综合| 一本一道色欲综合网中文字幕| 色综合久久综精品| 五月天激情综合| 久久久久综合国产欧美一区二区 | 久久综合成人网| 亚洲高清无码综合性爱视频| 中文字幕亚洲综合精品一区| 久久综合久久伊人| 久久婷婷五月综合97色一本一本 | 色欲综合久久躁天天躁蜜桃| 色欲综合久久中文字幕网| 一本一道久久精品综合|