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

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

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

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

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

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

案例一:公共庫耦合。

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

那怎么解耦呢?

答:業務垂直拆分。

公共庫中應該是通用代碼,不應該實現個性化很強的業務邏輯??梢詫iz.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

人工智能智慧社區智能

2020-05-19 10:49:56

云計算文件數據

2020-04-28 22:14:07

自動化威脅Bots

2018-08-28 08:10:19

AI芯片自動駕駛手機

2019-08-15 09:45:54

軟件技術Docker

2013-06-21 10:15:33

BYOD

2019-08-15 10:41:33

云時代運維容器

2021-03-25 18:02:17

辦公

2019-06-04 10:40:07

2024-10-21 16:34:15

2023-11-27 15:27:21

2023-03-09 15:25:52

2023-12-11 21:45:52

Javaforeach循環結構

2021-09-26 05:38:16

云計算云計算環境云應用

2020-06-22 07:00:00

軟件架構架構模式

2013-05-07 09:24:53

BYOD

2022-07-13 08:46:41

團隊協作敏捷

2024-04-25 09:24:19

系統設計開發

2010-06-08 18:31:36

UML建模工具

2021-11-10 18:51:33

新華三
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂成人国产精品一区 | 亚洲精品乱码久久久久久久久 | 中文字幕av网站 | 天堂视频中文在线 | 日韩一区二区视频 | 国产成人99久久亚洲综合精品 | 国产日韩免费观看 | 99久久精品免费看国产四区 | 第四色播日韩第一页 | 国产精品福利在线 | 最新中文字幕在线 | 久草视频在 | 免费网站国产 | 日韩精彩视频 | 国产一区二区三区在线看 | 日韩在线观看一区二区三区 | 91免费看片 | 久久在线| 亚洲国产精品久久久 | 成人影院网站ww555久久精品 | 鲁视频| 日韩成人中文字幕 | 在线观看h视频 | 欧美精品一区二区三区蜜桃视频 | 欧美黄视频 | 亚洲成av人片在线观看 | av香蕉| 国产原创在线观看 | 欧美日韩一区二区在线观看 | 成人在线观看网站 | 国产成人精品一区二区三 | 日日精品| 亚洲精品欧美一区二区三区 | 午夜国产在线 | 国产精品二区三区 | 91在线资源| 色一级片| 欧美自拍视频 | 波多野结衣一区二区三区在线观看 | 在线视频成人 | 成人在线免费电影 |