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

如何發現架構中的耦合(五大場景)?

開發 架構
架構痛點是別人,被動修改配合方卻是你。這是一個架構設計上“反向依賴”的問題,這就是典型的耦合特征。

如何發現系統架構中的耦合?

答:架構痛點是別人,被動修改配合方卻是你。這是一個架構設計上“反向依賴”的問題,這就是典型的耦合特征。

如果系統架構中經常出這類情況,往往架構上就有解耦優化的空間。

案例一:公共庫耦合。

如上圖所示,三個服務s123,通過一個公共的庫biz.jar來實現一段業務邏輯,s123其實間接通過公共庫耦合在了一起,一個業務s1主動修改一塊公共的代碼,導致影響s23被動受影響,這種耦合不合理。

那怎么解耦呢?

答:業務垂直拆分。

公共庫中應該是通用代碼,不應該實現個性化很強的業務邏輯。可以將biz.jar拆分為biz1.jar/biz2.jar/biz3.jar,個性化的業務邏輯各回各家,來對s12s3進行解耦。這樣的話,任何業務的改動,影響范圍只是自己,不會影響其他人。

案例二:通信機制不當耦合。

什么是通信機制不當?

有一類業務場景,消息發送方不關注消息接收方的執行結果,如果采用RPC調用的方式來通信,會導致系統上下游耦合。

如上圖所示,上游通過RPC調用的方式通知下游,如果新增消息接收方biz4,會發現修改代碼的是消息發送方,新增一個對biz-4的調用,你的主動需求,我的被動修改,這種耦合不合理。

那怎么解耦呢?

答:通過MQ異步解耦。

如上圖所示,消息發送方upper將消息發布給MQ,消息接收方從MQ去訂閱,任何新增對消息的消費,upper都不需要修改代碼。

案例三:配置中的ip耦合。

何時會出現配置中的ip耦合?

如上圖所示,在配置中使用了IP,當服務方修改IP時,如果需要調用方被動配合修改配置重啟,則上下游間接的通過ip這個配置耦合在了一起,架構不合理。

那怎么解耦呢?

答:通過內網域名而不是IP來進行下游連接。

如上圖所示,如果使用內網域名,當服務方要更換IP時,只需要運維層面將內網域名指向新的ip,然后統一切斷原有舊的連接,連接就能夠自動切換到新的ip上來。這個過程不需要所有上游配合,就能完成解耦。

案例四:服務化不徹底耦合。

微服務是互聯網非常典型的架構模式,但如果服務化不徹底,service本身也容易成為業務耦合點。

如上圖所示,共性服務biz.service中,可能包含“根據不同業務,執行不同個性分支”的代碼。

  • switch (biz-type)
  • case biz-1 : exec1
  • case biz-2 : exec2
  • case biz-3 : exec3

在這種架構下,biz123有個性的業務需求,可能導致修改代碼的是共性的biz-service。個性主動需求,共性被動修改,使其成為研發瓶頸,這種耦合不合理。

那怎么解耦呢?

業務特性代碼上浮,業務共性代碼下沉。

如上圖所示,把swithc case中業務特性代碼放到業務層實現,這樣biz123有個性的業務需求,升級的是自己的業務系統,而不是下游的微服務。

稍作總結:

  • 公共庫耦合,業務垂直拆分解耦;
  • 通信機制不當耦合,MQ異步解耦;
  • 配置中的ip耦合,通過內網域名解耦;
  • 服務化不徹底耦合,業務特性代碼上浮,業務共性代碼下沉解耦。

總而言之,痛的是你,被動修改的卻是我,大概率就有耦合。

案例五:下游擴容導致的耦合。

如上圖所示,這次不是換換ip這么簡單了,下游服務提供方原來是集群123,要擴容為12345,使用的是內網域名,上游卻還是需要被動修改配置,新增擴容后的節點,再重啟。

這種情況下,怎么解耦呢?

知其然,知其所以然。

思路比結論更重要。

責任編輯:趙寧寧 來源: 架構師之路
相關推薦

2019-10-15 15:22:56

人工智能智慧社區智能

2018-08-28 08:10:19

AI芯片自動駕駛手機

2020-05-19 10:49:56

云計算文件數據

2020-04-28 22:14:07

自動化威脅Bots

2019-08-15 09:45:54

軟件技術Docker

2013-06-21 10:15:33

BYOD

2019-08-15 10:41:33

云時代運維容器

2019-06-04 10:40:07

2021-03-25 18:02:17

辦公

2024-10-21 16:34:15

2023-03-09 15:25:52

2023-11-27 15:27:21

2023-12-11 21:45:52

Javaforeach循環結構

2021-09-26 05:38:16

云計算云計算環境云應用

2020-06-22 07:00:00

軟件架構架構模式

2022-03-04 14:21:56

區塊鏈數據架構

2021-11-10 18:51:33

新華三

2022-05-16 11:39:46

云架構云可視化CROPS

2024-04-25 09:24:19

系統設計開發

2010-06-08 18:31:36

UML建模工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费一级欧美在线观看视频 | 久草免费在线视频 | 狠狠色香婷婷久久亚洲精品 | 精品国产欧美一区二区三区成人 | 8x国产精品视频一区二区 | 成人在线视频免费播放 | 国产亚洲精品一区二区三区 | 仙人掌旅馆在线观看 | 午夜国产 | 免费网站国产 | 一级黄色网页 | 看黄在线 | 一级毛片色一级 | 99久久婷婷国产综合精品电影 | 欧日韩在线 | 久久精品色欧美aⅴ一区二区 | 久久精品亚洲成在人线av网址 | 91精品在线播放 | 99色综合| 国产欧美一区二区在线观看 | 国产一二三区精品视频 | 99久久99| 91在线免费视频 | 九九久久精品 | 91久久精品日日躁夜夜躁欧美 | 亚洲在线 | 亚洲欧美中文日韩在线v日本 | 精品电影 | 久久免费高清视频 | 户外露出一区二区三区 | www日日日| 精产国产伦理一二三区 | 国产精品久久久一区二区三区 | 皇色视频在线 | 免费观看黄网站 | 久久天天躁狠狠躁夜夜躁2014 | 男女在线网站 | 精品国产女人 | 久久精品成人热国产成 | 亚洲啪啪 | 日韩一区二区黄色片 |