日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
在Serverless環(huán)境中如何設(shè)計(jì)微服務(wù)?

在serverless環(huán)境中如何設(shè)計(jì)微服務(wù)?

譯文 精選
作者: 云昭 2022-09-06 10:29:27

開發(fā)

云計(jì)算 Serverless 體系結(jié)構(gòu)的高度分布式特性,要求開發(fā)人員重新思考其應(yīng)用程序設(shè)計(jì)和開發(fā)方法

創(chuàng)新互聯(lián)是專業(yè)的老河口網(wǎng)站建設(shè)公司,老河口接單;提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行老河口網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

作者 | Raja Saravanan

編譯 | EthanServerless

已成為企業(yè)在數(shù)字化、現(xiàn)代化升級過程中越來越流行的范式,不管是國內(nèi)的阿里云、騰訊云、華為云,還是國外的亞馬遜云科技,微軟等云計(jì)算廠商,都正在大力投入無服務(wù)器計(jì)算領(lǐng)域。由于 Serverless 提供了一個(gè)微型的架構(gòu),終端客戶無需部署、配置或管理服務(wù)器服務(wù),而且代碼運(yùn)行所需要的服務(wù)器服務(wù)皆由云端平臺(tái)來提供,這就為企業(yè)提高了靈活性,同時(shí)降低了運(yùn)營開銷和成本。但與之而來的問題在于,Serverless 體系結(jié)構(gòu)的高度分布式特性,要求開發(fā)人員重新思考其應(yīng)用程序設(shè)計(jì)和開發(fā)方法。本文介紹幾個(gè)最佳實(shí)踐設(shè)計(jì)模式,以饗讀者。

?眾所周知,Serverless 是基于微服務(wù)體系結(jié)構(gòu)的自然選擇。以基于 AWS 的 Serverless 應(yīng)用程序?yàn)槔?,它依賴?AWS Lambda 函數(shù),這些函數(shù)在設(shè)計(jì)上是無狀態(tài)和短暫的,Lambda 函數(shù)被設(shè)計(jì)為運(yùn)行小塊代碼以響應(yīng)其他服務(wù)發(fā)出的事件。Lambda 還與一系列可用于實(shí)現(xiàn)分布式系統(tǒng)中常見模式的托管服務(wù)集成,如消息隊(duì)列(Amazon 簡單隊(duì)列服務(wù))、API(Amazon API 網(wǎng)關(guān))和事件流(Amazon Kinesis)。這將有助于將構(gòu)建微服務(wù)過程中的痛點(diǎn)最小化。

為工作負(fù)載選擇適當(dāng)?shù)脑O(shè)計(jì)模式 

?1、扼殺器(Strangler)模式?Strangler 模式允許開發(fā)人員用微服務(wù)(可以用一個(gè)或多個(gè) Lambda 函數(shù)實(shí)現(xiàn))逐步替換其單體組件,而不是完全關(guān)閉或一次性替換。

Strangler 模式

此模式使用 strangler(如API網(wǎng)關(guān))來接受對遺留系統(tǒng)的傳入請求。然后,再將它們路由到遺留應(yīng)用程序或新的 Serverless 應(yīng)用。因?yàn)榭蛻舳酥慌c strangler 交互,所以他們不知道后端服務(wù)受到影響。一旦整個(gè)遺留系統(tǒng)被重構(gòu),并且所有流量都被路由到新應(yīng)用程序,則可以安全地棄用前者。

2、聚合器(Aggregator)模式

在基于微服務(wù)的架構(gòu)中,客戶端通常需要調(diào)用多個(gè)后端服務(wù)來執(zhí)行操作。由于這些調(diào)用發(fā)生在網(wǎng)絡(luò)上,客戶端和微服務(wù)之間的聊天通信可能會(huì)增加應(yīng)用程序延遲,特別是在帶寬有限的情況下。

?聚合器模式

聚合器模式通過使用單個(gè) Lambda 函數(shù)來接受所有客戶端請求,減少了客戶端需要進(jìn)行的調(diào)用數(shù)量。然后,Lambda 函數(shù)將請求轉(zhuǎn)發(fā)給適當(dāng)?shù)奈⒎?wù)和第三方 API,來聚合它們的結(jié)果,并向客戶端返回單個(gè)響應(yīng)。

3、狀態(tài)機(jī)模式(State Machine)?構(gòu)建應(yīng)用程序時(shí),業(yè)務(wù)工作流往往會(huì)變得非常復(fù)雜。AWS 中的有一個(gè)比較好用的“Step”功能,可以用于協(xié)調(diào)涉及多個(gè)微服務(wù)的復(fù)雜工作流?!癝tep”功能包括內(nèi)置的狀態(tài)管理、分支、錯(cuò)誤處理和重試功能,無需編寫樣板代碼。

?狀態(tài)機(jī)模式

4、Saga 模式

在基于微服務(wù)的應(yīng)用中,每個(gè)微服務(wù)通常都有自己的數(shù)據(jù)庫,其中包含與其他微服務(wù)數(shù)據(jù)庫中的數(shù)據(jù)密切相關(guān)的數(shù)據(jù)。Saga 模式通過協(xié)調(diào)互連微服務(wù)中的一系列本地事務(wù)來確保數(shù)據(jù)一致性。一旦微服務(wù)執(zhí)行其本地事務(wù),它就會(huì)觸發(fā)鏈中的下一個(gè)服務(wù)執(zhí)行其事務(wù)。如果一個(gè)事務(wù)在此過程中失敗,將啟動(dòng)一系列補(bǔ)償事務(wù),以回滾以前事務(wù)中所做的更改。

?Saga 模式

Saga 模式可以通過 choreography 或 orchestration 來實(shí)現(xiàn)。在 choreography 模型中,每個(gè)服務(wù)發(fā)布一個(gè)事件,觸發(fā)下一個(gè)服務(wù)運(yùn)行。而在orchestration 中,由中央?yún)f(xié)調(diào)器管理整個(gè)事務(wù)鏈。

5、斷路器(Circuit breaker)模式

在分布式系統(tǒng)中,在滿足一個(gè)請求時(shí)涉及多個(gè)服務(wù),思考如何處理服務(wù)故障是至關(guān)重要的。有些問題(如網(wǎng)絡(luò)延遲)是間歇性的,可以自行解決,可能只需上游服務(wù)的重調(diào)用即可。然而,更嚴(yán)重的問題或停機(jī),就需要主動(dòng)干預(yù),解決所需的時(shí)間成本都是不確定的。在這些情況下連續(xù)重試可能會(huì)消耗關(guān)鍵資源,并導(dǎo)致依賴同一資源池的其他服務(wù)匱乏,這可能導(dǎo)致災(zāi)難性級聯(lián)故障。

?Circuit breaker 模式

斷路器模式允許使用鍵值存儲(chǔ)來跟蹤請求故障和斷路器狀態(tài),而且通過 Lambda 函數(shù)來決定是否需要基于故障計(jì)數(shù)對受影響的服務(wù)進(jìn)行后續(xù)調(diào)用,從而在系統(tǒng)中構(gòu)建容錯(cuò)能力。

總結(jié) 

毫無疑問,云計(jì)算正在悄無聲息的影響著改變著我們的生活。不論是商業(yè),還是科研,Serverless 計(jì)算正在成為當(dāng)下云計(jì)算的主流發(fā)展方向之一。于開發(fā)者而言,Serverless 的部署比較簡單,但前提是,我們應(yīng)該借鑒最佳實(shí)踐模式來設(shè)計(jì),減少不必要的資源浪費(fèi)。

原文鏈接:

https://medium.com/@raja.sk.saravanan/architect-your-microservices-in-serverless-with-right-design-pattern-60ebe674968


本文題目:在Serverless環(huán)境中如何設(shè)計(jì)微服務(wù)?
當(dāng)前鏈接:http://www.dlmjj.cn/article/cdpesdo.html