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

微服務模式:Sidecar

譯文
開發(fā) 架構
一文帶你了解如何使用Sidecar來實現(xiàn)微服務。

譯者 | 布加迪 

合理設計的微服務應遵循單一職責原則,因此分離應該被架構中的其他服務重用的通用功能很重要。Sidecar模式提倡通過識別每個服務中的通用功能來增強模塊性,將它們組合到庫中,或將它們移到單獨的服務中。

顧名思義,Sidecar模式提倡分離橫切關注點(cross-cutting concern),將橫切關注點從實際服務中移除,推送到單獨的模塊、庫或服務,然后這些功能可被架構中的其他服務重用。

本文討論了微服務架構中哪種功能可以作為候選功能或可以被視為Sidecar,以及Sidecar的實現(xiàn)方法和優(yōu)缺點。

Sidecar候選功能

面向切面編程帶來了分離橫切關注點這個值得關注的概念;簡而言之,從代碼中移除通用功能,只關注業(yè)務邏輯,這就是在服務內的每個方法/函數(shù)中重復相同代碼的意義所在。

Sidecar模式本質上相似;唯一的區(qū)別是,Sidecar模式從微服務方面進行對話。將代碼的通用部分抽象出來變得更重要了。

一些最重要的候選功能包括如下:

?日志聚合

?安全

?錯誤處理,并在發(fā)布錯誤日志或將錯誤事件推送到Kafka主題或監(jiān)控隊列之后采取必要的動作。

?項目中的通用功能類似于實體(數(shù)據(jù)庫模型)或其他服務也使用的特定業(yè)務邏輯。

?其他服務正常運行所需要的服務或數(shù)據(jù)庫配置、Kafka配置、隊列配置等方面的配置更改。

?緩存需求(如果有這種需求的話)。

 

所有這些通用功能/Sidecar可以附加到服務上,就像邊車附加到摩托車上那樣。

 

優(yōu)缺點

?優(yōu)點

實施這種模式的最大優(yōu)點是,所有通用功能都可供架構中的所有服務使用,它通過將通用功能抽象到不同的層,大大降低了架構的復雜性。

微服務本質上是多語言的,這些通用功能可以使用最適合該特定操作的技術或編程語言來開發(fā)。

模式隱式避免了代碼重復,因為我們不需要在每個服務中編寫這種重復的代碼。

服務和Sidecar候選功能之間是松散耦合的關系。

?缺點

Sidecars具有單獨的可維護性,這可能是庫或單獨的服務。如果我們在應用程序中有大量的Sidecar,那么它會影響服務的性能。需要確定Sidecar功能是否需要獨立于主服務進行擴展;如果是,需要將這些Sidecar作為單獨的服務來托管。

實施方法

?將Sidecars保存在單獨的庫中

最常見的方法是將Sidecars保存在單獨的庫中,并將這些庫單獨導入到微服務中,比如將數(shù)據(jù)庫模型保存在單獨的庫中,然后通過該庫將這些模型導入到所有微服務,有各種構建工具(比如Maven、Gradle或SBT等)可用用于配置。

這種方法有以下缺點:

Sidecar過載:設想一個項目中維護多個Sidecar,比如架構中存在的日志、緩存、配置和安全都可能會在所有微服務中帶來Sidecar過載的問題。

版本不一致:維護每個庫的正確版本對于開發(fā)人員來說將是一場噩夢,想象一下cache-lib Sidecar擁有服務A在使用的最新版本1.1,但我們忘了提及仍在使用cache-lib版本1.0的服務B的正確版本,這會在應用程序中產生明顯的不一致,而這種不一致很難調試和識別。

解決這個問題的一種方法是創(chuàng)建一個含有所有這些Sidecar庫的Uber庫,然后我們需要做的就是在微服務中維護Uber庫的正確版本,我們需要確保Uber庫經(jīng)過更新,使用最新版本的Sidecars,比如說cache-lib 1.1應該在Uber庫中可用。

?將Sidecars保留為單獨的服務

另一種方法是在單獨的服務中各自維護Sidecar。但是為每個操作調用服務調用會帶來嚴重的性能問題,但理想情況下,我們通常不為日志或通用功能創(chuàng)建服務。安全或緩存可能是理想的獨立的服務候選功能。

這種方法的最大缺點是,始終需要優(yōu)化服務間通信以獲得更好的性能。在這種情況下,它就像架構中的另一個微服務,總是需要擴展,監(jiān)控哪種有悖Sidecar的用途。

結論

Sidecar模式是一種非常有用且簡潔的模式,它使橫切關注點遠離實際的服務實現(xiàn)。合理設計的微服務應該始終遵循單一職責原則(SRP),而Sidecar模式通過遠離重復功能來補充SRP原則。每個設計原則都有優(yōu)缺點,在庫中維護Sidecar以及保留最重要功能的混合方法應該在單獨的服務中加以維護。 

原文標題:Microservices Patterns: Sidecar,作者:Sameer Shukla

鏈接:https://dzone.com/articles/microservices-patterns-sidecar

責任編輯:薛彥澤 來源: 51CTO
相關推薦

2025-02-28 09:40:21

SidecarSCA服務

2023-09-07 23:25:34

微服務服務發(fā)現(xiàn)

2023-09-02 20:51:09

微服務業(yè)務服務

2021-12-28 08:36:55

網(wǎng)關APIRPC

2019-09-29 10:29:02

緩存模式微服務架構

2022-04-23 16:58:24

微服務微服務架構

2022-08-14 07:04:44

微服務架構設計模式

2024-08-09 10:59:01

KubernetesSidecar模式

2022-08-08 13:55:47

通信設計模式微服務

2023-12-22 14:27:30

2022-08-07 22:11:25

微服務架構

2024-07-19 09:01:07

2022-08-09 12:27:37

API集成微服務

2022-06-27 07:33:19

微服務Loki

2022-09-21 16:56:16

設計模式微服務架構

2020-09-24 06:47:06

ServiceMesh模式

2021-07-02 06:54:45

軟件架構模式

2022-09-15 10:44:42

SidecarIstioeBPFizer

2023-11-02 17:52:30

架構模式微服務服務治理

2024-06-03 00:00:10

微服務Python
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色日本视频 | 亚洲精品在线播放 | 91精品国产综合久久精品 | 成人国产精品 | 欧美成年人视频在线观看 | 天天射网站 | 在线免费观看视频你懂的 | 国产高清视频一区二区 | 中文字幕一区二区三区在线观看 | 麻豆亚洲 | 91综合网 | 国产精品久久久久久久久久三级 | 成人不卡 | 午夜三区 | 欧美日韩高清免费 | 国产91精品在线 | 精品国产精品一区二区夜夜嗨 | 日日干天天操 | 亚洲精品 在线播放 | www日本高清| 一区二区三区四区不卡 | 一区二区在线 | se婷婷| 国偷自产av一区二区三区 | 九九色综合 | 欧美一区二区三区在线观看 | 嫩草黄色影院 | 成人精品在线观看 | 亚洲av毛片成人精品 | 久久国产精品偷 | 亚洲一区 中文字幕 | 久久综合九九 | 99热.com| 精品一区二区视频 | av永久 | 成人三级在线观看 | 成人午夜免费福利视频 | 欧美日韩一区二区在线观看 | 国产福利视频 | 午夜www | 国产成人精品一区二区三区在线观看 |