入門篇 04 如何發布和引用服務?

2021-10-09 17:40:39 字數 1576 閱讀 4667

1、服務提供者如何發布乙個服務,服務消費者如何引用這個服務。

1)服務的介面名

2)呼叫服務需要傳遞哪些引數

3)介面的返回值型別

4)介面描述資訊

2、服務發布和引用的三種方式

1)restful api

2)xml 配置

3)idl 檔案

1、發布和引用的步驟

1)服務提供者這一端通過部署**到 tomcat 中,並配置 tomcat 中的web.xml,就可以通過 servlet 的方式對外提供 restful api。

2)消費者通過 http 協議呼叫服務。

2、使用場景

1)主要被用作 http 或者 https 協議的介面定義。

2)因http協議本身是乙個公開的協議,可以省去溝通服務協議的成本,所以適合用作跨業務平台之間的服務協議。

1、發布和引用的步驟

1)服務提供者定義介面,並實現介面。

2)服務提供者程序啟動時,通重載入 server.xml 配置檔案將介面暴露出去。

3)服務消費者程序啟動時,通重載入 client.xml 配置檔案來引入要呼叫的介面。

2、使用場景

1)一般私有 rpc 框架會選擇 xml 配置的方式來描述介面

2)因為私有 rpc 協議的效能要比 http 協議高,所以在對效能要求比較高的場景下,採用 xml 配置的方式比較合適。

3、注意事項

1)xml 配置的形式,通過在服務提供者和服務消費者之間維持乙份對等的xml配置檔案,來保證服務消費者按照服務提供者的約定來進行服務呼叫。當一方的配置檔案發生變化時,另一方也需要改變。

2)對於 xml 配置方式的服務描述,一旦應用到多個部門之間的介面格式約定如果有變更,最好是新增介面,不到萬不得已不要對原有的介面格式做變更。

1、描述介面,以grpc協議為例

1)grpc 協議使用 protobuf 簡稱 proto 檔案來定義介面名、呼叫引數以及返回值型別。

2、使用場景

1)主要用作跨語言平台的服務之間的呼叫,有兩種最常用的 idl:thrift協議和grpc協議,它們的工作原理是類似的。

3、注意事項

1)在描述介面定義時,idl 檔案需要對介面返回值進行詳細定義。如果介面返回值的字段比較多,並且經常變化時,採用 idl 檔案方式的介面定義就不太合適了。

[1]胡忠想. 從0開始學微服務[m]. 極客時間, 2018.

[2]取自【從0開始學微服務】專欄

如何學習Python爬蟲 入門篇 ?

如何學習python爬蟲 入門篇 第一 python爬蟲學習系列教程 python版本 2.7 整體目錄 一 爬蟲入門 python爬蟲入門一之綜述 python爬蟲入門二之爬蟲基礎了解 python爬蟲入門三之urllib庫的基本使用 python爬蟲入門四之urllib庫的高階用法 python...

OSGI 服務的發布和引用

一 在activator中註冊和引用服務 該方式可以說是最原始的方法,首先在manifest.mf中配置需要匯入的服務介面myservice import package org.jack.myservice 然後採用硬編碼方式註冊服務 public class myactivator implem...

輕量級HTTP伺服器Nginx(入門篇)

一 什麼是nginx 相信很多讀者都對apache非常熟悉,與apache類似,nginx是一款高效能的http和反向 伺服器軟體,也是乙個 imap pop3 smtp 伺服器。nginx 發音是 engine x 由俄羅斯的程式設計師igor sysoev所開發 igor將源 以類bsd許可證的...