国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

微服務的顆粒度難題:找到合適的微服務大小

開發
關于服務顆粒度的主觀性,即什么是單一職責,是我們作為開發人員在微服務顆粒度方面犯錯的地方。為了克服開發團隊在確定微服務大小時面臨的困境,理解顆粒度的驅動因素是至關重要的。

前言

在微服務架構風格中,微服務通常按照單一職責原則(SRP)設計,作為一個單獨部署的軟件單元,專注于做一件事情。我們作為開發人員往往傾向于盡可能將服務設計得更小,卻沒有考慮為什么要這樣做!關于服務顆粒度的主觀性,即什么是單一職責,是我們作為開發人員在微服務顆粒度方面犯錯的地方。為了克服開發團隊在確定微服務大小時面臨的困境,理解顆粒度的驅動因素是至關重要的。

顆粒度

在微服務中,有兩個概念——模塊化,涉及將系統拆分為獨立的部分,另一個是——顆粒度,涉及這些獨立部分的大小。

確定顆粒度的合適水平——服務的大小之一是微服務架構中許多困難的部分,我們作為開發人員很難解決。顆粒度不是由服務中的類或代碼行數來定義的,而是由服務所做的事情決定的——因此,在正確確定服務顆粒度時存在這種難題。

服務的顆粒度分為兩種相反的力量——顆粒度分解器和顆粒度整合器。

顆粒度分解器

我應該在什么時候考慮將服務拆分成更小的部分?然而,

我應該在什么時候考慮將服務重新組合?

顆粒度分解器

由于我們生活在微服務和納米服務的時代,大多數開發團隊通過隨意拆分服務并忽視隨之而來的后果而犯錯。為了找到合適的大小,應該在不同的參數上進行權衡分析,并根據微服務的上下文和邊界做出明智的決定。

顆粒度分解器的驅動因素為何拆分服務提供了指導和理由。讓我們看看這些驅動因素如何影響微服務大小的分析,以一個例子為例。

示例:考慮一個典型的通知服務,負責通過短信、電子郵件或郵寄的紙質信件通知客戶。

讓我們通過分解器驅動因素對這種情況進行分析,并找到合適的大小。我們從以下開始:

1.服務范圍和功能

服務是否執行了太多無關的事情?服務的范圍和功能主要取決于兩個屬性——首先是內聚性,即特定服務操作的程度和方式相互關聯。第二個是組件的整體大小,通常用責任的數量、服務的入口點數量或兩者的組合來衡量。 場景:看看通知服務,有人可能說將此服務拆分為三個單一用途的服務。但這是正確的嗎?答案是否定的!因為這個服務具有相對強的內聚性,即所有這些功能都與一個目標相關,即通知,并且具有一個單一的目的。因此,無需拆分服務,因為它應該是一個執行三個任務的服務。接下來是:

2.代碼波動

更改是否僅限于服務的某一部分?代碼波動是源代碼更改的速率。我們必須衡量服務中源代碼更改的頻率,這有助于充分理由拆分服務。

場景:假設我們對服務功能有以下指標:

現在,如果我們按照更改的度量標準進行分析,郵寄信件通知部分的頻繁更改也要求測試短信和電子郵件,因此作為單個服務,它增加了測試范圍和部署風險。那么我們該如何解決呢?

如果我們將此服務拆分為兩個獨立服務,電子通知和郵寄通知,頻繁的更改現在隔離到其自己的服務中,因此測試范圍減小,部署風險降低。

3.可擴展性和吞吐量

服務的部分是否需要以不同的方式擴展?可以客觀地測量服務不同功能的可擴展性需求,以量化服務是否應該被拆分。

場景:再次考慮通知服務示例,測量單個服務的可擴展性需求如下:

在這種情況下,作為單個服務,電子郵件和郵寄信件功能必須不必要地擴展以滿足短信通知的需求,影響成本和彈性,即啟動的平均時間。這完全證明了將通知服務拆分為獨立服務——短信、電子郵件和信件,因為它允許每個服務獨立擴展以滿足其各自不同的吞吐量需求。

4.容錯性

是否存在導致服務內關鍵功能失敗的錯誤?在特定領域內應用程序即使發生致命崩潰(例如OOM),仍然能夠繼續運行的能力。 場景:考慮到通知服務的情況,假設電子郵件功能繼續出現OOM錯誤并發生致命崩潰,整個合并服務會中斷,包括短信和郵寄信件處理。將這個單一的合并通知服務拆分成三個獨立服務為客戶通知領域提供了一定程度的容錯性。因此,電子郵件功能的致命錯誤不會影響短信或郵寄信件。

進一步:現在這里可能會出現一個問題,因為電子郵件是唯一與頻繁崩潰有關的問題,為什么不將短信和郵寄信件功能合并?這是一個合理的問題。如果記得,當我們討論代碼波動的情景時,我們將郵寄信件與電子郵件分開,然后將短信和郵寄信件合并成一個——電子通知。如果我們在那里能夠做到這一點,為什么在這里不行呢?因為電子郵件和短信是相關的,它們都是電子通知的一部分。但在這里,短信和郵寄通知沒有任何共同之處,無法合并。

注意:記住,如果一個服務因為它執行多個無關的任務而難以命名,那么考慮拆分該服務。其次,無論出于哪種驅動因素拆分服務,都要始終檢查是否可以通過“剩余”功能形成強內聚性。因此,將通知服務分解為三個獨立服務在這里是有道理的。最后但并非最不重要的驅動因素是:

5.可擴展性

服務是否始終在擴展以添加新功能?在服務擴展時添加附加功能的能力。 場景:假設我們要向通知服務添加新功能,例如移動推送通知、桌面通知、社交媒體通知等。這些新功能當然可以添加到單個合并的通知服務中。然而,每次添加新的通知時,整個通知服務都需要進行測試,并且所有通知的功能都需要不必要地部署到生產環境。

注意:僅在事先知道計劃并希望將額外的合并功能作為領域的一部分時才應用此場景。

推薦做法

  • 如果一個服務因為執行多個無關的任務而難以命名,那么考慮拆分該服務。
  • 無論出于哪種驅動因素拆分服務,都要始終檢查是否可以通過“剩余”功能形成強內聚性。
  • 拆分服務時,根據業務能力而不是技術能力進行檢查。
  • 在設計微服務時使用單一職責原則(SRP),但要牢記強內聚性的全局圖景。
  • 最后,使用分解器驅動因素分析拆分服務的權衡。
責任編輯:趙寧寧 來源: 小技術君
相關推薦

2024-07-02 14:23:12

2025-09-03 09:41:38

微服務架構

2019-02-22 09:12:33

微服務架構服務化

2020-05-28 22:41:54

微服務架構并發量

2016-09-22 15:36:15

微服務架構

2022-04-11 17:33:29

微服務架構單體

2023-12-04 07:14:40

通信微服務

2019-09-10 11:34:23

軟件技術數據庫

2024-07-02 10:58:53

2024-11-06 16:27:12

2021-12-29 08:30:48

微服務架構開發

2023-07-27 14:03:51

微服務

2020-08-14 09:27:50

微服務容器架構

2020-12-17 10:34:47

微服務分布式系統

2024-10-28 08:00:00

微服務架構開發

2018-12-12 09:59:47

微服務架構分布式系統

2020-12-10 10:04:45

微服務Kubernetes容器

2018-10-28 18:09:22

微服務Microservic架構

2022-08-14 07:04:44

微服務架構設計模式
點贊
收藏

51CTO技術棧公眾號

爱情岛论坛亚洲首页入口章节| 国产伦理久久久| 亚洲欧洲一区二区福利| 欧美精选视频在线观看| 亚洲综合另类小说| 精品乱码一区| 成人免费一区二区三区牛牛| 国产精品蜜臀| 久久色在线观看| 国产欧美一区二区三区在线看| 少女频道在线观看高清| 91亚洲男人天堂| av免费观看久久| 麻豆成人入口| 亚洲色图综合久久| aiai在线| 亚洲va国产天堂va久久en| 奇米777四色影视在线看| 国产精品黑丝在线播放| 五月天激情综合| 久久久在线观看| 性chinese极品按摩| 国产精品一区二区美女视频免费看| 琪琪一区二区三区| 欧美乱妇15p| 欧美精品二区三区四区免费看视频 | 久久久精品在线观看| 国内精品久久久久久野外| 在线不卡欧美精品一区二区三区| 欧美日韩国产成人在线观看| 屁屁影院在线观看| 黄色在线网站| 国产伦精品一区二区三区千人斩| 国产目拍亚洲精品99久久精品| 色婷婷综合久久久久中文一区二区| 羞羞小视频在线观看| 国产一区在线视频| 欧美日韩精品中文字幕一区二区| 国产99久久| 国语自产偷拍精品视频偷| jizz亚洲女人高潮大叫| 亚洲男人天堂2023| 国模雨婷捆绑高清在线| 欧美三级电影网站| 一二三四在线视频观看社区| 中文字幕在线不卡一区二区三区 | 97在线免费观看视频| 日韩和的一区二在线| 欧美日韩综合不卡| 91视频在线观看| 欧美性猛交xxxx偷拍洗澡| 黄页网站在线观看免费| 日韩午夜在线观看| 亚洲黄页一区| 国产特级黄色大片| 国产亚洲精品福利| 一本色道久久88亚洲精品综合 | 成人影院在线免费观看| 精品国产91乱码一区二区三区| 91最新在线视频| 国产成人精品一区二区| 国产日韩在线| 亚洲国产日产av| 天堂中文视频在线| 久久国产精品免费| 欧美一区二区综合| 91精品一区二区三区综合在线爱| 中文字幕亚洲二区| 欧美激情亚洲天堂| 欧美日韩有码| www.成人av.com| 在线播放一区| 国产精品自拍视频| 精品视频在线观看免费观看 | 欧美2区3区4区| 成人性生交大片免费看视频直播| 蜜臀av亚洲一区中文字幕| 久久精品xxx| 亚洲综合图片区| 污视频在线免费观看网站| 精品蜜桃一区二区三区| 欧美日韩中文字幕日韩欧美| 91精品久久久久久久久久不卡| 欧美疯狂性受xxxxx另类| 风间由美中文字幕在线看视频国产欧美 | 久久精品蜜桃| 久久精品五月婷婷| 精品久久久久久久久久| 久久精品无码中文字幕| 91精品国产综合久久久久| 台湾av在线二三区观看| 日韩国产精品久久久久久亚洲| av免费中文字幕| 在线看日韩欧美| 婷婷亚洲图片| 亚洲天堂第一区| 希岛爱理av一区二区三区| 91猫先生在线| 精品国产乱码久久| 欧美电影在线观看免费| 欧美久久久精品| 韩国成人动漫| 国产999在线观看| 国产欧美久久久精品影院| а√天堂中文资源在线bt| 青少年xxxxx性开放hg| 欧美日韩中文一区| 写真福利精品福利在线观看| 青青草国产精品| 精品久久中文字幕久久av| 欧美美女在线直播| 亚洲二区自拍| 欧美系列日韩一区| 红杏成人性视频免费看| 黄色高清视频网站| 欧美日韩国产区一| 欧洲不卡av| 中国黄色录像片| 欧美一区二区女人| 99久久99久久精品国产片果冰| 各处沟厕大尺度偷拍女厕嘘嘘| 在线日韩一区二区| 1024成人| 亚洲成av人影片在线观看| 中文字幕日韩高清| 日韩大片在线免费观看| 国产在线无码精品| 最近2019免费中文字幕视频三| 999色成人| metart日本精品嫩模| 国产精品久久久久aaaa九色| 国产精品高潮呻吟| 黄网页在线观看| 日韩风俗一区 二区| 大伊香蕉精品在线品播放| 99er在线视频| 日本不卡一区二区三区| 欧美日韩伦理| 日本不卡在线| 国产成人极品视频| 国产成人av一区二区三区在线| 国产中文在线| 国产成人精品综合久久久| 亚洲欧美激情诱惑| 欧美偷拍视频| 香蕉网站在线观看| 欧美精品二区三区四区免费看视频 | 在线看国产视频| 91亚洲精品在线| 亚洲第一中文字幕| 九九**精品视频免费播放| 草久在线视频| 国产特级黄色大片| 久久久久久久久久婷婷| 国产精品激情电影| 免费不卡视频| 免费资源在线观看| 妞干网这里只有精品| 国产91色在线免费| 91精品国产黑色紧身裤美女| 中文字幕第一区综合| sdde在线播放一区二区| 成人天堂入口网站| 亚洲图片88| av电影在线观看网址| 日本a级黄色| 777久久精品一区二区三区无码| 91人人爽人人爽人人精88v| 欧美在线看片a免费观看| 日韩精品亚洲一区二区三区免费| 成人av资源电影网站| 日韩电影在线视频| 加勒比视频一区| 最新av在线播放| 欧美少妇另类| 久久久人成影片一区二区三区在哪下载| 成人日韩欧美| 91露出在线| yw在线观看| www.亚洲免费| 自拍视频在线播放| 爱看av在线| 亚洲精品aaa| 国产欧美日韩电影| 日韩一级精品| 9999国产精品| 免费观看日韩av| 欧洲国内综合视频| 欧美一级黄色大片| 97超碰国产精品女人人人爽| 69久久夜色精品国产69蝌蚪网| 欧美性猛交xxxx乱大交蜜桃| 日韩一区二区三区免费观看| 在线亚洲一区观看| 欧美一区二区三区视频在线 | 一二三区精品福利视频| 色青青草原桃花久久综合| 国产精品免费看一区二区三区| 中文字幕一区二区三区最新| 亚洲超碰在线|