自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不只有簡單性和穩(wěn)定性,API網(wǎng)關(guān)還有這些好處

譯文
開發(fā) 開發(fā)工具
API網(wǎng)關(guān)將客戶端與服務(wù)解耦,從而簡化了服務(wù)開發(fā)人員的工作量。它還可以提供其他好處,例如監(jiān)視、日志記錄、安全性和負載等。

【51CTO.com快譯】API網(wǎng)關(guān)是對微服務(wù)體系結(jié)構(gòu)樣式的一個關(guān)鍵結(jié)果的響應(yīng):服務(wù)及其接口的激增。API網(wǎng)關(guān)的核心目的是簡化和穩(wěn)定暴露給客戶端的接口。

除此之外,由于API網(wǎng)關(guān)在體系結(jié)構(gòu)中的獨特位置,因此可以實現(xiàn)多種附加功能,例如監(jiān)視,日志記錄,安全性,負載平衡和流量操縱。

API網(wǎng)關(guān)類似于Facade設(shè)計模式,但應(yīng)用于網(wǎng)絡(luò)級別。這兩種情況的目標都是提供一個簡化的接口配置文件,以隱藏系統(tǒng)的復雜性??梢栽谙聢D中看到簡單的API網(wǎng)關(guān)思路。

??

簡化的界面

API網(wǎng)關(guān)的作用是將客戶端與服務(wù)解耦,并在此過程中為入站和出站流量提供單點聯(lián)系。

微服務(wù)后端可能涉及許多交互服務(wù),這些服務(wù)的URL和協(xié)議可能是異構(gòu)的。API網(wǎng)關(guān)可以為客戶端提供一個簡化的交互界面。在某種意義上,這就像一個簡化代理。

此外,API網(wǎng)關(guān)可能更復雜,能夠接受單個請求,檢索必要的資源,并將它們組合成單個響應(yīng)。例如,對用戶概要文件的請求可能檢索用戶詳細信息、最近的消息和興趣。網(wǎng)關(guān)可以接收單個請求,從每個必要的服務(wù)請求數(shù)據(jù),然后將它們統(tǒng)一為單個響應(yīng)。

這種功能需要在架構(gòu)級別上進行編排,并對其他微服務(wù)組件(如斷路器和服務(wù)網(wǎng))產(chǎn)生影響。

因為API網(wǎng)關(guān)能夠轉(zhuǎn)換后端使用的協(xié)議和URL,所以它很適合幫助遷移服務(wù)。也就是說,API網(wǎng)關(guān)在某種程度上可以隱藏后端發(fā)生的更改。

API穩(wěn)定性

API網(wǎng)關(guān)還可以提高客戶端與服務(wù)進行交互的API的穩(wěn)定性。網(wǎng)關(guān)可以平滑那些可能破壞客戶端或要求客戶端進行更改的細微變化,開發(fā)人員可以使用網(wǎng)關(guān)將一些流量導向服務(wù)的新版本來測試它們。

通常,API網(wǎng)關(guān)為客戶端提供單點聯(lián)系點,這有助于將更改對后端服務(wù)的影響最小化。服務(wù)越復雜,更改越頻繁,網(wǎng)關(guān)的功能就越有價值。

請注意,API網(wǎng)關(guān)還可以簡化API表層,甚至對于內(nèi)部客戶端也是如此。也就是說,可以使用網(wǎng)關(guān)使微服務(wù)體系結(jié)構(gòu)本身中的拓撲更容易管理。

監(jiān)控方式

API網(wǎng)關(guān)在體系結(jié)構(gòu)中的作用也使其非常適合進行某些類型的監(jiān)視,警報和跟蹤。同樣,在網(wǎng)關(guān)處收集統(tǒng)計信息對于流量和使用情況的廣泛分析也很有用。帶有日志記錄的API網(wǎng)關(guān)如下圖所示。

??

有多種方法可以處理API網(wǎng)關(guān)日志記錄的分析,比如使用Amazon Elasticsearch Service。

安全

由于網(wǎng)關(guān)是系統(tǒng)的單點入口,因此在系統(tǒng)加固中首當其沖。這類似于系統(tǒng)管理最佳實踐中跳轉(zhuǎn)主機的角色。

這樣服務(wù)就能夠主要關(guān)注與單個API網(wǎng)關(guān)的通信的安全,這比處理多個面向公共的API簡單得多。

以上內(nèi)容適用于基礎(chǔ)設(shè)施級安全性。然而,網(wǎng)關(guān)也可以在業(yè)務(wù)級別上承擔身份驗證和授權(quán)的工作。這需要對所涉及的后端服務(wù)進行編排,但可以通過將安全邏輯集中在一個地方來簡化事情。這自然與速率限制或使用付費聯(lián)系在一起,因為網(wǎng)關(guān)將擁有用于計費的客戶端帳戶。

API網(wǎng)關(guān)解決方案

API網(wǎng)關(guān)解決方案分為兩大類:托管的和自行開發(fā)的。在托管解決方案領(lǐng)域,每個云供應(yīng)商都提供一個產(chǎn)品。這些可以通過搜索找到,因為它們被(毫無想象力地)命名為“Amazon API網(wǎng)關(guān)”、“Azure應(yīng)用網(wǎng)關(guān)”和“谷歌云API網(wǎng)關(guān)”。

在開發(fā)自己的框架時,最好從一個能夠幫助完成大量繁重工作的框架開始。例如,在Java生態(tài)系統(tǒng)中,Spring Cloud提供了Spring Cloud Gateway。而Nginx是另一個不錯的選擇。

API網(wǎng)關(guān)的實際應(yīng)用

我們已經(jīng)討論了API網(wǎng)關(guān)可以提供的許多好處。但是,一定要記住這種權(quán)衡:網(wǎng)關(guān)也是需要維護的基礎(chǔ)設(shè)施的另一部分。特別是,API網(wǎng)關(guān)必須與對后端和客戶端的更改保持同步。也就是說,如果你的體系結(jié)構(gòu)復雜性或業(yè)務(wù)需要它,API網(wǎng)關(guān)可能是不錯的解決方案。

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】


責任編輯:黃顯東 來源: infoworld.com
相關(guān)推薦

2023-04-26 18:36:13

2023-05-25 21:35:00

穩(wěn)定性建設(shè)前端

2022-05-19 08:47:31

ITCIO企業(yè)

2022-09-15 08:33:27

安全生產(chǎn)系統(tǒng)Review

2019-07-31 14:34:00

數(shù)據(jù)庫MySQLJava

2023-06-30 08:43:36

2009-07-27 10:08:14

2011-12-21 09:46:46

程序員

2011-08-01 11:03:15

2020-07-13 08:10:13

軟件設(shè)計系統(tǒng)

2020-07-28 08:07:14

ElasticSear

2015-12-01 17:54:25

云呼叫中心

2009-07-01 18:01:20

JSP代碼塊緩沖OSCache

2010-02-04 13:57:38

Linux系統(tǒng)

2010-04-27 15:53:07

2022-09-16 08:23:22

Flink數(shù)據(jù)湖優(yōu)化

2023-09-07 15:16:06

軟件開發(fā)測試

2019-08-07 15:32:02

3D打印.技術(shù)數(shù)字

2018-11-08 15:44:10

UCloud云硬盤IO

2024-12-12 09:18:21

點贊
收藏

51CTO技術(shù)棧公眾號