開源微服務架構_第1頁
開源微服務架構_第2頁
開源微服務架構_第3頁
開源微服務架構_第4頁
開源微服務架構_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、開源微服務架構DubboX方超第1頁目錄Dubbo是什么Dubbo怎么用Dubbo怎么實現(xiàn)的第2頁Dubbo是什么Dubbo是什么?Dubbo是一個分布式服務框架,致力于提供高性能和透明化RPC遠程服務調(diào)用方案,以及SOA服務治理方案。Dubbo有何特點?遠程通訊:基于長連接NIO框架抽象封裝,提供多協(xié)議支持集群容錯:軟負載均衡,失敗容錯,地址路由,動態(tài)配置等集群支持。自動發(fā)覺:基于注冊中心目錄服務,使服務消費方能動態(tài)查找服務提供方,支持平滑降低或增加機器第3頁為何要使用Dubbo第4頁DubboX支持REST格調(diào)遠程調(diào)用(HTTP + JSON/XML):這個REST調(diào)用使得Dubbo能夠對

2、當今尤其流行“微服務”架構提供基礎性支持。 另外,REST調(diào)用也到達了比較高性能,在基準測試下,HTTP + JSON與Dubbo 2.x默認RPC協(xié)議(即TCP + Hessian2二進制序列化)之間只有1.5倍左右差距,詳見文檔中基準測試匯報。支持基于Kryo和FSTJava高效序列化實現(xiàn):基于當今比較著名Kryo和FST高性能序列化庫,為Dubbo默認RPC協(xié)議添加新序列化實現(xiàn),并優(yōu)化調(diào)整了其序列化體系,比較顯著提升了Dubbo RPC性能,詳見文檔中基準測試匯報。支持基于JacksonJSON序列化:基于業(yè)界應用最廣泛Jackson序列化庫,為Dubbo默認RPC協(xié)議添加新JSON序列

3、化實現(xiàn)。支持基于嵌入式TomcatHTTP remoting體系:基于嵌入式tomcat實現(xiàn)dubboHTTP remoting體系(即dubbo-remoting-http),用以逐步取代Dubbo中舊版本嵌入式Jetty,能夠顯著提升REST等遠程調(diào)用性能,并將Servlet API支持從2.5升級到3.1。第5頁DubboX升級Spring:將dubbo中Spring由2.x升級到當前最慣用3.x版本,降低版本沖突帶來麻煩。升級ZooKeeper客戶端:將dubbo中zookeeper客戶端升級到最新版本,以修正老版本中包含bug。支持完全基于Java代碼Dubbo配置:基于Spring

4、Java Config,實現(xiàn)完全無XML純Java代碼方式來配置dubbo調(diào)整Demo應用:暫時將dubbodemo應用調(diào)整并改寫以主要演示REST功效、Dubbo協(xié)議新序列化方式、基于Java代碼Spring配置等等。修正了dubbobug 包含配置、序列化、管理界面等等bug。第6頁dubbo系統(tǒng)結構第7頁一個詳細系統(tǒng)實例第8頁Dubbo慣用配置介紹 服務配置,用于暴露一個服務,定義服務元信息,一個服務能夠用多個協(xié)議暴露,一個服務也能夠注冊到多個注冊中心。 引用配置,用于創(chuàng)建一個遠程服務代理,一個引用能夠指向多個注冊中心。 協(xié)議配置,用于配置提供服務協(xié)議信息,協(xié)議由提供方指定,消費方被動接

5、收。 應用配置,用于配置當前應用信息,不論該應用是提供者還是消費者。 注冊中心配置,用于配置連接注冊中心相關信息。 方法配置,用于ServiceConfig和ReferenceConfig指定方法級配置信息。 模塊配置,用于配置當前模塊信息,可選。 監(jiān)控中心配置,用于配置連接監(jiān)控中心相關信息,可選。 提供方缺省值,當ProtocolConfig和ServiceConfig某屬性沒有配置時,采取此缺省值,可選。 消費方缺省配置,當ReferenceConfig某屬性沒有配置時,采取此缺省值,可選。第9頁Dubbo慣用配置介紹(服務提供者)配置應用程序名稱配置注冊中心地址(主要) 注冊中心支持以下

6、4種類型Zookeeper (當前在生產(chǎn)環(huán)境使用,需要安裝zookeeper注冊中心服務)Redis (可用于生產(chǎn))Multicast (缺省配置,只適合測試環(huán)境,不能跨網(wǎng)段)Simple (Only for Test)第10頁Dubbo慣用配置介紹(服務提供者)配置通訊協(xié)議(主要) name協(xié)議名稱:默認為dubbo,支持rmi,hessian2,http,ws,thrift,memcached,redisport:暴露服務端口號。(怎樣為-1表示隨機產(chǎn)生端口號)serialization :支持dubbo,hessian2,java,json默認為hessian2register:該協(xié)議服

7、務是否注冊到注冊中心,默認為trueThreads服務線程池大小第11頁Dubbo慣用配置介紹(服務提供者)配置需要暴露服務接口 (主要) 慣用可選項有:retries: 默認為2,假如不需要設置重試設為0timeout:超時設置executes:服務器端并發(fā)執(zhí)行(或占用線程數(shù))不超出設置個數(shù)actives: 每客戶端并發(fā)執(zhí)行(或占連接請求數(shù))不超出設置個數(shù)deprecated:默認為false,假如需要設置服務過時,設置為true,消費者調(diào)用時會打印警告日志。provider:指定provider,值為id屬性第12頁Dubbo慣用配置介紹(服務消費者)配置應用程序名稱 配置注冊中心(主要)

8、 配置遠程服務代理 第13頁Dubbo怎么使用(服務提供者)接口定義接口實現(xiàn)服務提供者 spring 配置第14頁Dubbo怎么使用(服務消費者)服務消費者 spring 配置接口使用第15頁Dubbo架構介紹節(jié)點角色說明Provider: 暴露服務服務提供方。Consumer: 調(diào)用遠程服務服務消費方。Registry: 服務注冊與發(fā)覺注冊中心。Container: 服務運行容器。(e.g.)SpringMonitor: 統(tǒng)計服務調(diào)用次調(diào)和調(diào)用時間監(jiān)控中心。第16頁Dubbo是怎么實現(xiàn)實現(xiàn)rpc需要解決的幾個問題Dubbo“單機版”Dubbo Cluster第17頁序列化傳輸IDL接口描述語

9、言實現(xiàn)rpc需要處理幾個問題第18頁Webservice是怎么處理這幾個問題序列化:只能序列化基本數(shù)據(jù)類型、枚舉及其組合傳輸:web server+httpIDL:xml描述wsdl文件第19頁Dubbo是怎么實現(xiàn)序列化序列化默認使用hessian2提供高效版SerializableFST和Kryo接口定義定義Serialization接口DataInputDataOutputObjectInputObjectOutput第20頁Dubbo是怎么實現(xiàn)傳輸數(shù)據(jù)傳輸,必定是一個點( Endpoint )到另外一個點;兩個點直接有一條管道(Channel);有處理管道(channelHandler)

10、,也有編碼(Coderc)第一次抽象接口Endpoint,Channel,Codec,ChannelHandler第21頁Dubbo是怎么實現(xiàn)傳輸數(shù)據(jù)傳輸中兩個點不是對等,一個是Server,一個是Client;數(shù)據(jù)有一個點到另外一個點需要Transporter來傳輸有接口大多提供抽象類; AbstractEndpoint, AbstractClient,AbstractServer,AbstractChannel,TransportCodec業(yè)務抽象后,就是詳細實現(xiàn)netty,mina,xSocketMinaServer , MinaClient , MinaChannel , MinaCo

11、decAdapter第22頁Dubbo是怎么實現(xiàn)交換RPC數(shù)據(jù)不但僅是傳輸,還要交換(Exchange)繼承傳輸接口:ExchangeServer、ExchangeClient、ExchangeChannel、ExchangeHandler、ExchangeCodec交換大多都有頭,參考HTTP協(xié)議經(jīng)過Header一組實現(xiàn)類:HeaderExchangeServer、HeaderExchangeClient、HeaderExchangeChannel、HeaderExchangeHandler第23頁Dubbo是怎么實現(xiàn)RPCRPC本質是請求(Request),響應( Response )遠程調(diào)用要定規(guī)則( Protocol ),有公布服務( Exporter ),有使用服務(Invoker),怎么使用(Invocation),使用結果(Result)默認實現(xiàn)類:DubboCodec、DubboExporter、D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論