1. 程式人生 > >架構之美 ----- Dubbo 框架

架構之美 ----- Dubbo 框架

    實習專案中用的框架是Dubbo,還記得剛進公司的時候,架構師給我們簡單地說了專案的架構,也問了問之前接觸過的框架。具體內容記不清了,關鍵字包括:WebService,SOA。可以說,這兩者並不陌生,而專案中的Dubbo和這兩者有著緊密的聯絡。下面就開始對Dubbo框架進行一些細緻的瞭解。     一. Dubbo是什麼? Dubbo 是阿里巴巴公司開源的一個高效能優秀的分散式服務框架,致力於提供高效能和透明化的RPC遠端呼叫服務方案,是阿里巴巴SOA服務化治理方案的核心框架。 簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上就是服務呼叫,它告別Web Service模式中的WSdl(網路服務描述語言),以服務者與消費者的方式在dubbo上註冊。
其核心部分包含:     1.遠端通訊: 提供對多種基於長連線的NIO框架抽象封裝,包括多種執行緒模型,序列化,以及“請求-響應”模式的資訊交換方式。     2.叢集容錯: 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,地址路由,動態配置等叢集支援。     3.自動發現: 基於註冊中心目錄服務,使服務消費方能動態的查詢服務提供方,使地址透明,使服務提供方可以平滑增加或減少機器     二. Dubbo能做什麼?
1.透明化的遠端方法呼叫,就像呼叫本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何API侵入。      2.軟負載均衡及容錯機制,可在內網替代F5等硬體負載均衡器,降低成本,減少單點。 3. 服務自動註冊與發現,不再需要寫死服務提供方地址,註冊中心基於介面名查詢服務提供者的IP地址,並且能夠平滑新增或刪除服務提供者。 Dubbo採用全Spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。     三. Dubbo的工作原理?
    節點角色說明:
   1.Provider 暴露服務方稱之為“服務提供者”。    2.Consumer 呼叫遠端服務方稱之為“服務消費者”。    3.Registry 服務註冊與發現的中心目錄服務稱之為“服務註冊中心”。    4.Monitor 統計服務的呼叫次調和呼叫時間的日誌服務稱之為“服務監控中心”。     呼叫關係說明: 1. register: 服務提供者在啟動時,向註冊中心註冊自己提供的服務。 2. subscribe: 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。 3. notify: 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
4. invoke: 服務消費者,從提供者地址列表中,基於軟負載均衡演算法,選一臺提供者進行呼叫,如果呼叫失敗,再選另一臺呼叫。 5. count: 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。     四.專案感悟     瞭解了這麼多關於Dubbo框架的知識,也算是專案之餘自己對架構的一些學習。因為是半路進專案組,所以對整個專案的著手也是半成品。專案開發進度緊張,所有的開發任務都是建立在現有的專案基礎上,所以沒機會也不允許自己去搭建一個專案框架,後期有時間了,還是需要自己實踐一下,如何搭建出這樣一個框架。

相關推薦

架構 ----- Dubbo 框架

    實習專案中用的框架是Dubbo,還記得剛進公司的時候,架構師給我們簡單地說了專案的架構,也問了問之前接觸過的框架。具體內容記不清了,關鍵字包括:WebService,SOA。可以說,這兩者並不

簡單-Dubbo架構設計詳解

Dubbo是Alibaba開源的分散式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各個層之間解耦合(或者最大限度地鬆耦合)。從服務模型的角度來看,Dubbo採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出

電子書 架構.pdf

刪除 如何 可維護 描述 移植 軟件 功能 設計 架構師 本書圍繞5個主題領域來組織本書的內容:概述、企業應用、系統、*終用戶應用和編程語言。本書讓*很好的設計師和架構師來描述他們選擇的軟件架構,剝開架構的各層,展示他們如何讓軟件做到實現功能、可靠、易用、高效率、可維護、可

分布式架構~

恢復 image otto 根據 mil font 流量 硬盤 normal 一、前言 ?  我們都知道,當今無論在BAT這樣的大公司,還是各種各樣的小公司,甚至是傳統行業剛轉互聯網的企業都開始使用分布式架構,那麽什麽叫分布式架構呢?分布式架構有什麽好處呢?分布式架構

讀《架構

架構是一個過程,而非一個結果 架構的最主要產出是什麼?周愛民(支付寶(中國)公司業務架構師):圖。 引導實施者,清晰架構師腦中的目標系統。 本書每章的主題還算統一,但是全書的話就不行了,因為有許多作者參與寫作。都是一章章的寫成的。 每章的內容與我理解的,和最近讀的阿里

架構-最強卷積神經網路架構設計初想

上圖展示了兩種形態的殘差模組,左圖是常規殘差模組,有兩個3×3卷積核組成,但是隨著網路進一步加深,這種殘差結構在實踐中並不是十分有效。針對這問題,右圖的“瓶頸殘差模組”(bottleneck residual block)可以有更好的效果,它依次由1×1、3×3、1×1這三個卷積層堆積而成,這裡的1×1的卷積

架構師必看-架構第14章-兩個系統的故事:混亂大都市(一)

                你們修築、修築,預備道路,將絆腳石從我百姓的路中除掉。                                        —《以賽亞書》第57章14節                  我們要看的第一個軟體系統名為“混亂大都市”。

[架構]一款APP從"想法-開發-上線-產品"的全過程

前言 如果沒有做過開發,研發過產品的人,很難體會做產品的艱難,剛進公司的人,一般充當的是程式開發,我這裡說的是開發,它與研發是有區別的. 一個需求下來,如果不能很好地理解產品需求,如果不能很好的駕馭需求實現的邏輯,肆意的根據理解去做技術方面的架構和編碼,等到

架構第十二章-好的架構

        我們曾提到,架構師玩的是折中的遊戲。對於一組給定的功能需求和品質需求,沒有唯一的正確架構和唯一的“正確答案”。我們從經驗中得知,應該對架構進行評估,確定它是否滿足其需求,然後再投入資金

Dubbo框架應用(一)--服務體系

white 部件 esp 恢復 fonts resp auto zh-cn 通過 Dubbo 是阿裏巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的 RPC 實現服務的輸出和輸入功能,能夠和 Spring框架無縫集成,也是一個很全面的

Dubbo框架應用(三)--Zookeeper註冊中心、管理控制臺的安裝及解說

root pan rda 查詢 bsp err 封裝 form keep 我是在linux下使用dubbo-2.3.3以上版本號的zookeeper註冊中心客戶端。Zookeeper是Apache Hadoop的子項目,強度相對較好,建議生產環境使用該註冊中

dubbo框架Demodubbo-admin管理平臺和zookeeper註冊中心搭建

inf 啟動 路徑 class lin 3.4 $path 修改 -m dubbo框架Demo之dubbo-admin管理平臺和zookeeper註冊中心搭建 一、安裝環境 系統軟件環境 單機 系統Centos7.3 java: jdk1.8.0_181 maven:

android 架構整合react native框架js混編APP

本篇文章主要總結一下現在APP當中使用的js、webView混編架構和技術。 什麼是 js 混編? js混編簡單說就是使用JavaScript開發APP程式。 android應用使用的是java,Kotlin 、c/c++ 為主的語言開發,ios使用的ob

MVC架構理解&框架架構區分

首先通過軟體開發中常見的MVC模式理解架構: M(Model):模型層負責向檢視層提供資料,並處理應用程式中資料邏輯的部分。通常資料模型唯一負責在資料庫中存取資料。 V(View):檢視是依據資料模型建立,負責其中資料的顯示。 C(Controller):應用程式中處理使用者互動的部分。負責從檢視讀取資

異構SOA系統架構Asp.net實現(相容dubbo)

原文: 異構SOA系統架構之Asp.net實現(相容dubbo) 我們公司技術部門情況比較複雜,分到多個集團,每個集團又可能分為幾個部門,每個部門又可能分為多個小組,組織架構比較複雜,開發人員比較多。 使用的程式語言也有點複雜,主流語言有.net(C#)、Java、PHP等。 所以SOA架構需要的是異構

003-讀書筆記-企業IT架構轉型道-阿里巴巴中臺戰略思想與架構實戰-分散式服務框架的選擇

3.1、淘寶平臺“服務化”歷程 大約2007年,淘寶500人團隊,維護一個war包,200多個功能模組。 1)專案團隊協同成本高,業務響應越來越慢 2)應用複雜度超出人的認知負載。 3)錯誤難於隔離【同一個環境,一個jvm】 4)資料庫連線能力很難擴充套件:每一個機器只有10個,但是應用機器過於多,

應用程式框架實戰十三:DDD分層架構我見

  前面介紹了應用程式框架的一個重要組成部分——公共操作類,並提供了一個數據型別轉換公共操作類作為示例進行演示。下面準備介紹應用程式框架的另一個重要組成部分,即體系架構支援。你不一定要使用DDD這樣的架構,使用單層架構和普通三層架構一樣可以,不過你如果希望獲得更進一步的複用性和封裝度,使用更加面嚮物件的技術是

應用程式框架實戰十七:DDD分層架構值物件(層超型別篇)

using System.Collections.Generic; using System.Text; using Util.Validations; namespace Util.Domains { /// <summary> /// 領域層頂級基類 /

應用程式框架實戰十四:DDD分層架構領域實體(基礎篇)

using System.ComponentModel.DataAnnotations; using System.Text; namespace Util.Domains { /// <summary> /// 領域實體 /// </summary

應用程式框架實戰二十二 : DDD分層架構倉儲(層超型別基礎篇)

using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Linq.Expressions; using Util.Domains; using