前言:
最近公司上線了一款産品,總經理讓我們整理項目中運用到的技術,在這個項目中,可謂是包括多種技術,項目中運用的dubbo+zookeeper技術的結合,今天小編就來帶大家認識Dubbo,來了解Dubbo的一些基本的知識。
核心:
背景
随着網際網路的發展,網站應用的規模不斷擴大,正常的垂直架構已無法應付,分布式架構以及流動雲計算架構勢在必行,亟需一個治理系統確定架構有條不紊的演進。
Dubbo的出現,是為了解決應用之間互動不可避免,将核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求。
定義
什麼是Dubbo呢?Dubbo是一個分布式服務架構,緻力于提供高性能和透明化的RPC遠端調用方案,是阿裡巴巴SOA服務化治理方案的核心架構,每天為2000+個服務提供3000000000+次通路量,并被廣泛應用于阿裡巴巴集團的各成員站點。
這裡咱們說明一下RPC和SOA.
RPC(Remote Procedure Call Protocl)——遠端過程調用協定,它是一種通過網絡從遠端計算機程式上請求服務,而不需要了解底層網絡技術的協定。同樣RPC也分為同步調用和異步調用。
SOA(Service—Oriented Architecture)——面向服務的架構,它是一個元件模型,将應用程式的不同功能單元(成為服務)通過這些服務之間定義良好的借口和契約聯系起來。
架構
Dubbo的架構一共劃分10層,最上面的service層是留給實際想要使用Dubbo開發分布式的開發者實作業務邏輯的接口層。圖中左邊淡藍色背景的為服務者使用的接口,右邊淡綠色背景的為服務提供方使用的接口,位于中軸線上的雙方都用到的接口。角色
應用場景:
- 作為對内提供服務應用的容器
- 拆分複雜web應用到服務容器
- 應用負載均衡協調
- 應用服務治理
作用:
與傳統的遠端調用相比,傳統的遠端調用是:自維護調用關系
Dubbo的作用:注冊與維護調用關系
分布式軟負載均衡