本篇內(nèi)容主要講解“Dubbo基礎(chǔ)知識總結(jié)以及zookeeper安裝方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Dubbo基礎(chǔ)知識總結(jié)以及zookeeper安裝方法”吧!
創(chuàng)新互聯(lián)建站基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報價,主機(jī)托管價格性價比高,為金融證券行業(yè)四川電信機(jī)房托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。
面向服務(wù)的架構(gòu)(SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。
面向服務(wù)架構(gòu),它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。
SOA是一種粗粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義接口進(jìn)行通訊,不涉及底層編程接口和通訊模型。SOA可以看作是B/S模型、XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)/Web Services技術(shù)之后的自然延伸。
SOA將能夠幫助軟件工程師們站在一個新的高度理解企業(yè)級架構(gòu)中的各種組件的開發(fā)、部署形式,它將幫助企業(yè)系統(tǒng)架構(gòu)者以更迅速、更可靠、更具重用性架構(gòu)整個業(yè)務(wù)系統(tǒng)。較之以往,以SOA架構(gòu)的系統(tǒng)能夠更加從容地面對業(yè)務(wù)的急劇變化。
遠(yuǎn)程過程調(diào)用協(xié)議,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計算機(jī)程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。
RPC采用客戶機(jī)/服務(wù)器模式。請求程序就是一個客戶機(jī),而服務(wù)提供程序就是一個服務(wù)器。首先,客戶機(jī)調(diào)用進(jìn)程發(fā)送一個有進(jìn)程參數(shù)的調(diào)用信息到服務(wù)進(jìn)程,然后等待應(yīng)答信息。在服務(wù)器端,進(jìn)程保持睡眠狀態(tài)直到調(diào)用信息到達(dá)為止。當(dāng)一個調(diào)用信息到達(dá),服務(wù)器獲得進(jìn)程參數(shù),計算結(jié)果,發(fā)送答復(fù)信息,然后等待下一個調(diào)用信息,最后,客戶端調(diào)用進(jìn)程接收答復(fù)信息,獲得進(jìn)程結(jié)果,然后調(diào)用執(zhí)行繼續(xù)進(jìn)行。
OSI是Open System Interconnection的縮寫,意為開放式系統(tǒng)互聯(lián)。國際標(biāo)準(zhǔn)化組織(ISO)制定了OSI模型,該模型定義了不同計算機(jī)互聯(lián)的標(biāo)準(zhǔn),是設(shè)計和描述計算機(jī)網(wǎng)絡(luò)通信的基本框架。OSI模型把網(wǎng)絡(luò)通信的工作分為7層,分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層和應(yīng)用層。
Dubbo是阿里巴巴開發(fā)的一個基于SOA結(jié)構(gòu)基礎(chǔ)的,實(shí)現(xiàn)RPC遠(yuǎn)程調(diào)用的框架.
Dubbo框架,是基于容器運(yùn)行的. 容器是Spring.
在編寫服務(wù)和客戶端的時候, 需要注冊中心實(shí)現(xiàn)服務(wù)的發(fā)布和訂閱. 注冊中心中有服務(wù)端發(fā)布的服務(wù)全部信息,包括請求地址,參數(shù)命名,參數(shù)數(shù)量,參數(shù)限制,參數(shù)是否加密等. 客戶端通過注冊中心訂閱服務(wù),獲取服務(wù)的所有信息,實(shí)現(xiàn)RPC遠(yuǎn)程訪問.
官方網(wǎng)站 : http://dubbo.io/
阿里巴巴已經(jīng)將dubbo框架捐獻(xiàn)給了Apache軟件基金會.
注冊中心. 用于Dubbo服務(wù)的發(fā)布和訂閱的核心組件.
Dubbo服務(wù)編寫成功后,發(fā)布到注冊中心. 客戶端通過注冊中心訂閱服務(wù),并應(yīng)用.
服務(wù)的提供者. 服務(wù)器. 運(yùn)行真實(shí)的服務(wù)代碼的電腦[代碼].
如: 騰訊發(fā)布的三方登錄.
服務(wù)的消費(fèi)者. 客戶端. 就是遠(yuǎn)程調(diào)用Provider服務(wù)的代碼.
如: 三方網(wǎng)站, 網(wǎng)站中提供騰訊相關(guān)的登錄入口.
容器. 就是讓Provider和Consumer正常執(zhí)行的容器.給Provider和Consumer一個可以正常運(yùn)行的環(huán)境. 在Dubbo中使用Spring容器.
協(xié)議. Dubbo的Consumer和Provider通訊的標(biāo)準(zhǔn).
Dubbo支持多種協(xié)議. 如: dubbo協(xié)議(Dubbo自定義的應(yīng)用協(xié)議), RMI協(xié)議, TCP協(xié)議等.
監(jiān)控中心, 管理中心, 調(diào)度中心. 管理Provider數(shù)量, Consumer數(shù)量, Consumer調(diào)用Provider次數(shù)的監(jiān)控中心. 相當(dāng)于統(tǒng)計.
Dubbo支持多種注冊中心. 不同的注冊中心提供不同的注冊服務(wù)方式.
Java開發(fā)的一個服務(wù)管理應(yīng)用. 是Hadoop項(xiàng)目的子項(xiàng)目. 動物園管理員. 是一個其他應(yīng)用的管理應(yīng)用, 負(fù)責(zé)協(xié)調(diào),調(diào)度,管理,配置等功能.
支持?jǐn)帱c(diǎn)恢復(fù), 會話恢復(fù), 配置服務(wù)項(xiàng), 配置消費(fèi)項(xiàng), 通配信息配置等.
ZooKeeper是一個Java開發(fā)的應(yīng)用. 運(yùn)行環(huán)境只需要JDK和JVM.
廣播式注冊中心. 只要Provider和Consumer在同一個網(wǎng)段中即可實(shí)現(xiàn)服務(wù)的發(fā)布和訂閱.
局限性 : 只適合小型架構(gòu)或開發(fā)測試使用. 因?yàn)榭赡茉斐蓮V播風(fēng)暴. 網(wǎng)段內(nèi)超過5臺物理機(jī)同時發(fā)布服務(wù), 可能造成數(shù)據(jù)通訊問題, 無法實(shí)現(xiàn)快速的服務(wù)訂閱和應(yīng)用.
KV服務(wù)器注冊中心. KV服務(wù)器, 高速緩存服務(wù)器. 內(nèi)存型數(shù)據(jù)庫. NoSql數(shù)據(jù)庫. 后期有課程詳細(xì)講解.
類似ZooKeeper注冊中心. Provider發(fā)布服務(wù)到Redis, Consumer從Redis中訂閱服務(wù).
優(yōu)勢: 高效.
缺陷: 數(shù)據(jù)描述相對簡單, 使用頻率相對較少. 沒有經(jīng)過大量測試, 穩(wěn)定性不確定.
就是Dubbo自定義的一個注冊中心. 減少三方依賴. 讓代碼依賴性降低, 耦合性降低.
只適合小型應(yīng)用和開發(fā)測試.
官方網(wǎng)站 : http://zookeeper.apache.org/
下載資料的時候,不要下載beta版本.
tar -zxf zookeeper-3.4.6.tar.gz
解壓即可使用. 建議復(fù)制到/usr/local目錄下. 讓所有的系統(tǒng)用戶都可以使用.
cp -r zookeeper-3.4.6 /usr/local/zookeeper/
可執(zhí)行文件. 如: 啟動,停止,重啟等命令.
配置信息. Zookeeper應(yīng)用的配置文件
Zookeeper應(yīng)用的jar包庫目錄. 是Zookeeper依賴的所有jar包保存位置
自定義目錄, 常用. 用于保存Zookeeper運(yùn)行數(shù)據(jù)的目錄.
Zookeeper官方提供的幫助文檔
Zookeeper提供的插件和腳本相關(guān)資料.
源代碼
Zookeeper核心代碼庫. 后期開發(fā)可能應(yīng)用的jar. 使用maven開發(fā)應(yīng)用的時候,通過依賴下載jar包.
服務(wù)狀態(tài)發(fā)生變更時,Zookeeper自動輸出一個日志信息. 文件名為zookeeper.out.文本保存在執(zhí)行服務(wù)狀態(tài)變更目錄下. 如: 在目錄/usr/local/zookeeper目錄中執(zhí)行命令bin/zkServer.sh start. 日志文件在/usr/local/zookeeper目錄中輸出.
zkServer.sh - Zookeeper服務(wù)腳本. 用于啟動,停止,重啟使用.
命令 : bin/zkServer.sh start
啟動不成功. 有錯誤. 提示zoo.cfg配置文件不存在.配置文件保存在Zookeeper應(yīng)用的conf目錄中.
Zookeeper提供了一個模板配置文件, 文件名為zoo_sample.cfg. 模板文件中已定義默認(rèn)的所有配置信息. 可以通過復(fù)制使用.
cp zoo_sample.cfg zoo.cfg
在任意位置創(chuàng)建一個目錄.用于Zookeeper執(zhí)行的數(shù)據(jù)存儲目錄. 建議在Zookeeper安裝目錄中創(chuàng)建.
建議命令 : 在Zookeeper安裝目錄中執(zhí)行 mkdir data
# 檢查時間. 訪問的有效時長 tickTime=2000 # 初始化ticket個數(shù). 默認(rèn)支持多少客戶端并發(fā)訪問. initLimit=10 # 并發(fā)訪問線程個數(shù) syncLimit=5 # Zookeeper執(zhí)行過程數(shù)據(jù)的保存目錄,建議使用絕對路徑配置. dataDir=/usr/local/zookeeper/data # 客戶端端口 clientPort=2181
|
見到下述信息, 代表服務(wù)啟動成功. standalone代表單機(jī)版正在執(zhí)行.
[root@node1 ~]# /usr/local/zookeeper/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
bin/zkServer.sh stop
bin/zkServer.sh restart
bin/zkServer.sh status
命令: bin/zkCli.sh [-server 主機(jī)地址:端口]
默認(rèn)連接本地2181端口的Zookeeper服務(wù).
[應(yīng)用名: 主機(jī):端口(狀態(tài)) 執(zhí)行的命令數(shù)量] [zk: localhost:2181(CONNECTED) 0] |
執(zhí)行下述命令:
[zk: localhost:2181(CONNECTED) 0] quit
maven工程 - dubbo工程. pom工程.
導(dǎo)入jar包. 使用maven依賴導(dǎo)入.
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.7</version> </dependency> |
maven工程 - Provider, 是dubbo工程的module. pom工程.
Provider工程拆分成兩個子工程, 都是Provider工程的module.
service 工程, 是jar工程. 定義接口.
service-impl工程, 是jar工程. 定義接口的實(shí)現(xiàn).
1.1.1 注解
使用Spring注解,管理要發(fā)布的接口實(shí)現(xiàn)對象.
也可以使用標(biāo)簽bean管理.
1.1.2 spring配置文件
1.1.2.1 掃描服務(wù)注解
<context:component-scan />
1.1.2.2 配置Dubbo的Provider服務(wù)信息
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 1. 掃描service注解 --> <context:component-scan base-package="com.bjsxt.service" />
<!-- 2. 配置Dubbo相關(guān)信息 --> <!-- 2.1 配置應(yīng)用名, 是Dubbo應(yīng)用的唯一命名. 是一個Provider定義一個唯一的命名. --> <dubbo:application name="test-provider" />
<!-- 2.2 配置注冊中心, 服務(wù)的提供者,要向注冊中心發(fā)布服務(wù). 消費(fèi)者要從注冊中心訂閱服務(wù). --> <dubbo:registry address="192.168.120.143:2181" protocol="zookeeper" />
<!-- 2.3 協(xié)議信息, Provider和Consumer訪問注冊中心和相互之間的訪問,使用什么協(xié)議 --> <dubbo:protocol name="dubbo" port="20880" />
<!-- 2.4 要發(fā)布什么服務(wù). 將當(dāng)前spring容器中的什么bean對象信息,發(fā)布到注冊中心. --> <dubbo:service interface="com.bjsxt.service.TestService" ref="testServiceImpl"/>
</beans> |
1.1.3 代碼發(fā)布服務(wù)
通過代碼的執(zhí)行, 將spring配置信息,實(shí)現(xiàn)發(fā)布.
將spring容器中的bean對象信息,發(fā)布到Zookeeper注冊中心中.
啟動spring容器即可. spring的容器可以啟動. 因?yàn)镃lassPathXmlApplicationContext類型實(shí)現(xiàn)了接口Runnable. ClassPathXmlApplicationContext可以獨(dú)立啟動線程.
maven工程 - consumer, 是dubbo工程的module. jar工程
編寫測試代碼. 調(diào)用Provider中定義的服務(wù)代碼. 得到代碼返回的結(jié)果.
Consumer工程只能和provider-service工程有依賴關(guān)系. 通過dubbo的形式,遠(yuǎn)程調(diào)用.
使用spring的注解管理Consumer代碼和代碼中的屬性依賴.
2.2.1 掃描注解
管理Consumer代碼和代碼中的屬性依賴關(guān)系.
<context:component-scan />
2.2.2 dubbo配置
描述Dubbo框架信息的.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 1. 掃描本地注解. 管理對象和屬性依賴關(guān)系. --> <context:component-scan base-package="com.bjsxt.service" />
<!-- 2. dubbo相關(guān)信息 --> <!-- 2.1 應(yīng)用信息 --> <dubbo:application name="test-consumer"/>
<!-- 2.2 配置注冊中心 --> <dubbo:registry protocol="zookeeper" address="192.168.120.143:2181"/>
<!-- 2.3 協(xié)議, 可以省略. Dubbo相關(guān)服務(wù)信息是從注冊中心中訂閱的. Provider在發(fā)布服務(wù)的時候, 會定義協(xié)議信息. 所以Consumer一段配置協(xié)議信息無效. 如果配置了<dubbo:protocol>代表的含義是. 當(dāng)前應(yīng)用可能要發(fā)布服務(wù). 發(fā)布服務(wù)的時候,使用的協(xié)議是什么. -->
<!-- 2.4 引用服務(wù)對象.從注冊中心中,訂閱對應(yīng)的某一個服務(wù). 服務(wù)的單位是接口. 訂閱得到的服務(wù),被Dubbo技術(shù)封裝成一個代理對象. 內(nèi)部實(shí)現(xiàn)由Dubbo決定. id - 就是spring管理的對象的唯一命名. 當(dāng)前標(biāo)簽相當(dāng)于定義了一個bean標(biāo)簽, spring容器管理一個對象. 這個對象,是一個Dubbo通過訂閱服務(wù),創(chuàng)建的代理對象. 建議將id定義為需要使用的類型中的屬性名. spring的@Autowired注解,是先byType,再byName,實(shí)現(xiàn)屬性注入的. --> <dubbo:reference id="testService" interface="com.bjsxt.service.TestService"/>
</beans> |
為Dubbo應(yīng)用命名的標(biāo)簽. 是Dubbo框架對應(yīng)用管理的唯一標(biāo)記.
要求建議每個Dubbo應(yīng)用命名不同.
<dubbo:application name=”應(yīng)用名稱”/>
應(yīng)用命名數(shù)據(jù) : 字母,數(shù)字,’_’,’-’,’$’.
協(xié)議定義, 是為Provider方提供的標(biāo)簽描述. 是Provider在發(fā)布服務(wù)的時候,綁定的協(xié)議信息.
默認(rèn)協(xié)議是: dubbo協(xié)議
默認(rèn)Dubbo協(xié)議端口: 20880.
<dubbo:protocol name=”協(xié)議名稱” port=”端口號” />
注冊中心. Dubbo在服務(wù)發(fā)布和訂閱過程的核心. 推薦使用的注冊中是Zookeeper.
需要定義訪問注冊中心的協(xié)議和注冊中心的地址.
<dubbo:registry protocol=”訪問注冊中心協(xié)議, Zookeeper注冊中心使用zookeeper協(xié)議” address=”注冊中心的地址, 數(shù)據(jù)結(jié)構(gòu)是: ip:port; 多個注冊中心使用逗號分隔.” />
發(fā)布服務(wù)的標(biāo)簽配置. Provider代碼要發(fā)布的服務(wù)信息. 要發(fā)布的服務(wù)是由哪一個bean對象提供服務(wù)的.要發(fā)布的服務(wù)接口是什么. 要求bean對象必須實(shí)現(xiàn)了接口.
同時可以配置,服務(wù)發(fā)布的配置. 如: 重試次數(shù), 超時時間等.
<dubbo:service interface=”要發(fā)布的服務(wù)接口全命名” ref=”接口的實(shí)現(xiàn)類bean對象” />
3.4.1 其他屬性
3.4.1.1 timeout
超時時長. Consumer訪問Provider,要求必須在多長時間內(nèi)得到響應(yīng)結(jié)果.
在時間限定范圍外,會拋出異常.
默認(rèn)值是:1000毫秒. Provider執(zhí)行得到結(jié)果必須在1000毫秒內(nèi).
3.4.1.2 retries
Consumer訪問Provider如果發(fā)生了異常. 自動重試的次數(shù).
默認(rèn)值是: 2. 第一訪問是主動發(fā)起的. 如果有異常,自動重試2次.
Consumer方定義的服務(wù)引用配置. 從注冊中心訂閱服務(wù)后, 如何使用.
標(biāo)簽會通知Dubbo框架, 根據(jù)訂閱的服務(wù), 創(chuàng)建代理對象.
代理對象,同時也是spring容器管理的一個bean對象. 可以通過自動裝配注解@Autowired獲取.
<dubbo:reference interface=”要訂閱的服務(wù)接口全命名”
id=”唯一命名, 相當(dāng)于bean標(biāo)簽的id屬性” />
3.5.1 其他屬性
3.5.1.1 timeout
默認(rèn)值是1000毫秒. 由dubbo:consumer標(biāo)簽定義.
如果dubbo:service標(biāo)簽定義了timeout,且dubbo:reference標(biāo)簽未定義timeout屬性. 則使用service標(biāo)簽定義的timeout.
3.5.1.2 retries
重試次數(shù), 默認(rèn)值為2. 由dubbo:consumer標(biāo)簽定義.
如果dubbo:service標(biāo)簽定義了retries,且dubbo:reference標(biāo)簽未定義retries屬性. 則使用service標(biāo)簽定義的retries.
是dubbo:service標(biāo)簽的父配置標(biāo)簽. 如果定義了dubbo:provider標(biāo)簽, 則dubbo:sevice標(biāo)簽?zāi)J(rèn)使用其定義的屬性信息. 如: retries, timeout等.
如果定義:<dubbo:provider timeout=”3000” retries=”0” />
則所有未定義timeout和retries屬性的dubbo:service標(biāo)簽,統(tǒng)一使用3000毫秒作為超時時長,0作為重試次數(shù).
3.6.1 特殊屬性
3.6.1.1 payload
定義服務(wù)中方法的參數(shù)和返回值最大數(shù)據(jù)范圍的. 默認(rèn)是8M數(shù)據(jù).
Consumer訪問Provider的時候,傳遞的參數(shù)最大8M. Provider返回給Consumer返回結(jié)果的時候,最大8M.
默認(rèn)值: 88388608, 單位是字節(jié).
定義消費(fèi)者默認(rèn)配置的標(biāo)簽. 就是給dubbo:reference標(biāo)簽提供默認(rèn)設(shè)置的.
如: <dubbo:consumer timeout=”3000” retries=”0” /> 而dubbo:reference標(biāo)簽未配置屬性. 使用3000作為默認(rèn)超時時間, 0作為重試次數(shù).
Dubbo框架的通訊協(xié)議. Dubbo框架支持多種通訊協(xié)議. 默認(rèn)使用Dubbo協(xié)議.
dubbo協(xié)議是Dubbo框架自定義的一種協(xié)議.
Dubbo缺省協(xié)議采用單一長連接和NIO異步通訊方式. 適合大數(shù)據(jù)量,高并發(fā)的服務(wù)調(diào)用. 以及服務(wù)消費(fèi)機(jī)遠(yuǎn)超過服務(wù)提供機(jī)的情況.
dubbo協(xié)議是一個NIO協(xié)議, 長連接小數(shù)據(jù)量傳輸協(xié)議, 不適合傳輸大數(shù)據(jù). 如: 文件,媒體,圖片等. 除非訪問請求非常低的情況, 可以使用Dubbo協(xié)議傳輸大數(shù)據(jù).
單一長連接 : Consumer和Provider通訊的時候,只有一個連接, 無論時間多久.
NIO : net io. 網(wǎng)絡(luò)IO流. 異步通訊. 可以Consumer一直發(fā)送請求數(shù)據(jù), Provider處理一部分返回一部分結(jié)果.
Dubbo協(xié)議要求,Consumer和Provider在通訊的時候,所有傳遞的數(shù)據(jù)都必須可序列化.
Provider提供的服務(wù)方法參數(shù)表和返回值類型,必須可序列化.
參數(shù)和返回值類型不能自定義實(shí)現(xiàn)接口List,Set,Map,Number,Calendar等.
傳輸數(shù)據(jù)的時候,只傳輸類型屬性的值和屬性的類型. 不傳遞方法信息和靜態(tài)數(shù)據(jù).
JDK提供的標(biāo)準(zhǔn)協(xié)議,是遠(yuǎn)程方法調(diào)用協(xié)議. remote method invoke.
多連接, 短連接, tcp協(xié)議, 同步傳輸數(shù)據(jù). 服務(wù)參數(shù)和返回值必須實(shí)現(xiàn)可序列化.
適合客戶端和服務(wù)器數(shù)量差不多的情況. 可以傳輸文件. 超時時長無效.
hessian協(xié)議, 基于http應(yīng)用層協(xié)議. 通過servlet暴露服務(wù).
多連接,短連接, http協(xié)議. 同步傳輸. 參數(shù)返回值數(shù)據(jù)量大. Provider數(shù)量大于Consumer數(shù)量. 服務(wù)的參數(shù)和返回值必須可序列化.
基于RPC的應(yīng)用層協(xié)議.
是基于Memcached高效KV服務(wù)器實(shí)現(xiàn)的注冊中心. 類似Redis.
不需要Consumer感知注冊中心位置. 可以使用property屬性實(shí)現(xiàn)服務(wù)的應(yīng)用.
到此,相信大家對“Dubbo基礎(chǔ)知識總結(jié)以及zookeeper安裝方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享文章:Dubbo基礎(chǔ)知識總結(jié)以及zookeeper安裝方法
URL標(biāo)題:http://chinadenli.net/article30/ghocpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、做網(wǎng)站、軟件開發(fā)、網(wǎng)站設(shè)計公司、App開發(fā)、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)