淺談SOA面向服務化編程架構(dubbo)


 

     dubbo 是阿里系的技術。並非淘寶系的技術啦,淘寶系的分布式服務治理框架式HSF啦
,只聞其聲,不能見其物。而dubbo是阿里開源的一個SOA服務治理解決方案,dubbo本身
集成了監控中心,注冊中心,負載集群...等等。代碼和整體的框架還是很優雅滴呀!
     github地址 https://github.com/alibaba/dubbo
     文檔地址:http://alibaba.github.io/dubbo-doc-static/Developer+Guide-zh.htm  
     目前發布的版本是2.5.3,gihub上的最新代碼到2.5.4快照版本。很遺憾的是到dubbo的
維護團隊沒有繼續維護下去呀!不過dubbo目前的功能已經算是灰常的完善了。可以說是一
整套的SOA治理方案了,完全能夠用於生產環境之中啦。更多的詳細使用,文檔中寫的灰常
的詳細呀,過一遍文檔就基本上搞明白啦!扯淡完了,進入正題。

     首先是最圖最底部的為dubbo服務的集群(服務者),即對外界暴露服務,dubbo本身就
是支持集群模式,而且支持多種通信協議(dubbo,rmi,http...)。主要部署核心的業務代碼。

 右邊的注冊中心,dubbo提供了也是提供了多種注冊中心, zookeeper注冊中心是其中一
種同樣無單點故障問題,dubbo服務依賴於注冊中心,在dubbo服務啟動時,回向注冊中心
去進行一個服務的注冊(發布服務)。對服務進行管理。

    接下來看tomcat集群,主流的tomcat集群搭配(nginx+tomcat+redis/memcache)都是灰常
的簡單的,百度google一下就能搞定。書寫的所有控制器都放到其中,控制器中依賴的服
務實現是來之后端dubbo集群的,而dubbo服務是注冊到zookeeper上的,只需要連上注冊
中心就獲取到了我們所需要的服務,並且進行調用。主要是對控制器層做一個集群,提高
可用性和性能。

    tomcat左下角是一個NOSQL集群,主要是處理一個session的共享/分布式緩存。
    最上層是nginx的集群主要是把靜態頁面全都放到nginx中即可,注意,如果使用restful風
格,並且使用JS MVC框架的話!完全不需要把頁面部署到tomcat中,讓tomcat只跑控制代
碼即可。restful架構的話頁面時全靜態,數據全都走json的方式即可。

   上訴擴展瓶頸在nginx上,解決的方式就算使用在nginx之前套LVS吧,或者硬件做一個負
載。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM