Dubbo多協議支援

2022-10-11 10:57:10 字數 1542 閱讀 3168

除了dubbo服務暴露協議dubbo協議外,dubbo框架還支援另外8種服務暴露協議:rmi協議、hessian協議、http協議、webservice協議、thrift協議、memcached協議、redis協議、rest協議。但在實際生產中,使用最多的就是dubbo服務暴露協議

小資料大併發使用dubbo,大資料小併發使用其它

採用 jdk 標準的 j**a.rmi.* 實現

thrift 是 facebook 捐給 apache 的乙個 rpc 框架,其訊息傳遞採用的協議即為thrift協議。當前 dubbo 支援的 thrift 協議是對 thrift 原生協議的擴充套件。thrift協議不支援null值的傳遞

它們都是高效的kv快取伺服器。它們會對傳輸的資料使用相應的技術進行快取

若需要開發具有restful風格的服務,則需要使用該協議

對於多協議的用法有兩種,一種是同乙個服務支援多種協議,一種是不同的服務使用不同的協議。首先來看「同一服務支援多種協議」的用法

(1) 修改提供者配置檔案

在提供者中要首先宣告新新增的協議,然後在服務標籤中再增加該新的協議。若不指定,預設為dubbo協議

這裡需要理解這個服務暴露協議的意義。其是指出,消費者若要連線當前的服務,就需要通過這裡指定的協議及埠號進行訪問。這裡的埠號可以是任意的,不一定非要使用預設的埠號(dubbo預設為20880,rmi預設為1099)。這裡指定的協議名稱及埠號,在當前服務註冊到註冊中心時會一併寫入到服務對映表中。當消費者根據服務名稱查詢到相應主機時,其同時會查詢出消費此服務的協議、埠號等資訊。其底層就是乙個socket程式設計,通過主機名與埠號進行連線

(2)修改消費者配置檔案

在消費者引用服務時要指出所要使用的協議

(3)應用場景

「同一服務支援多種協議」的應用場景是:系統在使用過程中其使用場景逐漸發生了變化,例如,由原來的消費者數量多於提供者數量,變為了消費者數量與提供者數量差不多了,並且原來系統不用傳輸檔案,現在的系統需要傳輸檔案了。此時就將將原來預設的dubbo協議更換為rmi協議。目的是為了相容老工程,擴充套件新功能。

(1)應用場景

(2) 修改提供者配置檔案

在使用暴露服務時通過protocal屬性指定所要使用的服務協議

(3) 修改消費者配置檔案

消費者端通過引用服務時通過新增protocal屬性指定要使用的服務協議

dubbo多協議支援,及協議特點

dubbo服務除了本身自己的dubbo協議外,dubbo框架還支援另外8中服務暴露協議 rmi協議 hessian協議 http協議 webservice協議 thrift協議 memcached協議 redis協議 rest協議。但在實際生產中,使用最多的就是dubbo服務暴露協議。各個協議的特點...

Dubbo多註冊中心支援

dubbo版本 2.6.5 根據dubbo官方文件,可以發現dubbo支援multicast zookeeper nacos redis 等註冊中心,dubbo官方推薦使用zookeeper註冊中心 zookeeper 是 apacahe hadoop 的子專案,是乙個樹型的目錄服務,支援變更推送,...

Dubbo之多協議 多註冊中心 多版本

dubbo之多協議 多註冊中心 多版本。多協議?可以自行擴充套件協議。不同服務不同協議 比如,不同服務在效能上適用不同協議進行傳輸,比如大資料用短連線協議,小資料大併發用長連線協議。多協議暴露服務 比如 需要與http客戶端互操作。多註冊中心 可以自行擴充套件註冊中心。多註冊中心註冊 比如 中文站有...