成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

微服務架構的外部 API 集成模式

開發 架構
今天我們來聊聊API集成,通過前兩天的了解,我們了解到微服務是多服務,松耦合的服務集,既然涉及到了多服務,調用外部的API的必不可少的。

今天我們來聊聊API集成,通過前兩天的了解,我們了解到微服務是多服務,松耦合的服務集,既然涉及到了多服務,調用外部的API的必不可少的。

由于客戶的多樣性,設計應用程序的外部 API 變得更具有挑戰性。這些客戶端通常具有不同的數據要求。

1、直接溝通

這種方式以客戶端直接調用服務的方式設計 API。由于以下缺點,微服務架構目前很少采用這種方法。

  • 客戶端必須通過細粒度的服務 API 發出多個請求來檢索他們需要的數據,這不僅效率低下,而且可能導致比較差的用戶體驗。
  • 由于客戶端對每個服務及其 API 的了解導致缺乏封裝,因此很難更改架構和 API。
  • 客戶可能覺得使用服務的 IPC 機制既不方便也不實用。

我們在研發的時候,不能把保持向后兼容性留給后端服務的開發人員。需要開發單獨的公共 API,而不是直接向第三方公開服務。

這項艱難的工作就是由API 網關的架構組件完成的。

2、API 網關模式

直接訪問服務有許多缺點。API 網關是一種更好服務訪問模式。

基本上,API 網關也是一種服務,它充當外部應用程序的入口點。該組件負責請求路由、API 組合和其他橫切關注點,例如身份驗證、監控和速率限制。API 網關類似于 OOPS(設計模式) 中的外觀設計模式。API 網關封裝應用程序的內部架構并向其客戶端提供 API。

API 網關還負責請求路由、API 組合和協議轉換。來自外部客戶端的 API 請求通過 API 網關,API網關將一些請求路由到相應的服務。API 網關還可以通過調用多個服務并聚合結果來處理其他請求。服務器還可以在客戶端友好協議(例如 HTTP 和 WebSockets)與服務使用的客戶端不友好協議之間進行轉換。

3、請求路由

請求路由是 API 網關最重要的功能之一。API 網關通過將請求路由到適當的服務來實現 API 操作。API 網關在收到請求時查詢路由映射以確定將請求路由到哪個服務。例如,路由映射可能會將 HTTP 方法和路徑映射到服務的 HTTP URL。NGINX 等 Web 服務器提供反向代理作為此功能的一部分。

4、API 組成

API 網關通常不僅僅做反向代理。他們還可以使用 API 組合執行 API 操作。API 網關為客戶端提供了一個粗粒度的 API,使他們能夠通過一個請求來檢索他們需要的數據。

聚合器/組合模式有兩個子模式。

  1. 鏈式模式:基本上,這種類型的組合模式遵循鏈式結構。在這種模式下,客戶端與服務通信,所有服務鏈接在一起,一個服務的輸出成為下一個服務的輸入。
  2. 分支模式:分支模式是聚合器和鏈模式的擴展版本。客戶端可以直接與服務通信,在這種設計模式下,服務可以同時與多個服務通信。

5、協議轉換

API 網關也可以轉換協議。盡管應用程序服務在內部使用各種協議,包括 REST 和 gRPC,但它可能會向外部客戶端提供 REST API。一些 API 操作在需要時在 RESTful 外部 API 和內部基于 gRPC 的 API 之間進行轉換。

國外一些技術網站,把這項功能直接稱為:Protocol Translation,直接翻譯就是:協議翻譯,我根據能力直接叫做:協議轉換

6、前端模式的后端

API 網關可以提供一個通用的 API。單一 API 面臨的一個問題是不同的客戶端通常有不同的需求。這個問題的解決方案是讓客戶端可以選擇在請求中指定服務器應該返回哪些字段和相關對象,就像使用 GraphQL 一樣。對于必須為第三方應用程序提供服務的公共 API,這種方法就足夠了,但它不能為客戶提供更多可選的操作。

通過API網關為客戶端提供個性化API是一個不錯的選擇,我也比較喜歡這個能力,從一定程度上減少了通訊數據的壓力

7、實施橫切關注點

API 網關主要處理 API 路由和組合,但它們也可能處理橫切關注點。橫切關注點的例子包括:

  • 身份驗證: 驗證發出請求的客戶端身份。
  • 授權:驗證客戶端是否被授權執行該特定操作。
  • 速率限制:限制每秒來自特定客戶端或所有客戶端的請求數。
  • 緩存:緩存響應以減少對服務的請求數量。
  • 指標收集:為計費分析目的收集 API 使用指標。
  • 請求日志記錄:記錄請求。

注:橫切關注點指的是一些具有橫越多個模塊的行為,使用傳統的軟件開發方法不能夠達到有效的模塊化的一類特殊關注點。比如典型的案例,日志功能

8、API 網關架構

API 網關具有分層的模塊化架構。它由兩層組成,API 層和公共層。一個或多個 API 模塊構成 API 層。API 模塊根據客戶要求實現 API。

9、API 網關的好處

  • 使用 API 網關的主要優點是它封裝了應用程序的內部結構。
  • API 網關為客戶端提供客戶端特定的 API,減少客戶端和應用程序之間的往返次數
  • 簡化了客戶端代碼。

10、API網關的缺點

  • 增加維護成本,也是一個可開發、部署和管理的高可用性組件。
  • API 網關有可能成為開發瓶頸,因為開發人員必須不時更新 API 網關以公開他們的服務 API。

11、現成的 API 網關

有幾種現成的服務和產品實現了 API 網關功能。

AWS API Gateway? : AWS API Gateway API 是一組 REST 資源,每個資源都支持一個或多個 HTTP 方法。您可以配置 API 網關以將每個請求路由到后端服務。您需要在后端服務中實現 API 組合,AWS API Gateway**不支持 API 組合。

Kong :? Kong基于 NGINX HTTP 服務器,它允許您根據 HTTP 方法、標頭和路徑定義靈活的路由規則,以決定使用哪個后端服務。

12、開發 API 網關

使用 Web 框架,您可以構建自己的 API 網關,將請求代理到其他服務。我們來看看Netflix Zuul和Spring Cloud Gateway。

Netflix Zuul? :? Zuul是一個 Netflix 框架,它實現了諸如路由、速率限制和身份驗證等橫切功能。Zuul 使用了過濾器的概念,過濾器是類似于 servlet 過濾器的可重用請求攔截器。Zuul 通過組裝一系列過濾器來處理 HTTP 請求,這些過濾器會轉換請求、調用后端服務并將響應發送到客戶端之前對其進行轉換。

Spring Cloud Gateway ?:? Spring Cloud Gateway是一個 API 網關框架,基于 Spring Framework、Spring Boot 和 Spring Webflux,一個反應式 Web 框架。

Spring Cloud Gateway 提供了一種簡單而全面的方式來完成以下任務:

  • 將請求路由到后端服務。
  • 實現執行 API 組合的請求處理程序。
  • 處理橫切關注點,例如身份驗證。
責任編輯:姜華 來源: 今日頭條
相關推薦

2022-08-14 07:04:44

微服務架構設計模式

2022-08-08 13:55:47

通信設計模式微服務

2022-08-07 22:11:25

微服務架構

2022-08-12 07:39:30

數字化集成微服務

2019-09-29 10:29:02

緩存模式微服務架構

2022-04-23 16:58:24

微服務微服務架構

2017-09-10 16:21:55

微服務API權限

2021-06-22 18:00:09

微服務架構系統

2023-06-09 14:46:36

2018-04-20 10:15:34

2021-07-02 06:54:45

軟件架構模式

2022-08-12 06:26:54

微服務架構

2024-06-03 00:00:10

微服務Python

2023-09-07 23:25:34

微服務服務發現

2023-09-02 20:51:09

微服務業務服務

2023-11-02 17:52:30

架構模式微服務服務治理

2023-07-28 09:23:24

微服務架構

2022-03-29 10:36:32

技術架構微服務

2020-12-19 10:53:08

微服務架構設計模式軟件開發

2016-11-23 10:56:35

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级免费黄色片 | 亚洲天堂中文字幕 | 日韩精品成人 | 欧美影院| 中文字幕一区二区三区四区五区 | 久久精品久久久久久 | 亚洲成人一区 | 美女在线观看国产 | 欧美成人一区二区三区 | 99久热 | 黄色在线观看网址 | 久草在线 | 91久色 | 免费视频久久 | 一区2区 | 国产高清视频在线观看 | 久久伊人一区 | 欧美一级全黄 | 成人高清在线 | 国产成人99久久亚洲综合精品 | 国产成人综合在线 | 国产探花在线精品一区二区 | 成人久久18免费网站 | 国产日产精品一区二区三区四区 | 麻豆av在线| 超碰成人在线观看 | 日韩成人在线网站 | 欧美13videosex性极品 | 在线免费观看a级片 | 午夜久久久久久久久久一区二区 | 中文天堂在线观看 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚洲精品在线视频 | 亚洲精品久久国产高清情趣图文 | 黑人成人网| 在线中文字幕视频 | 四虎永久免费影院 | 国产精品1区 | 91免费看片神器 | 国产成人99久久亚洲综合精品 | 99免费精品视频 |