鬆耦合的关键
系统架构就和公司架构、或政府架构、或生物体一样,当规模很小、複杂度很低的时候,可以用单一控制中心的组织形式,强力地、完整地、完美地、精準地控制所有的流程。但是当系统的规模大、複杂度高的时候,如果还想用这种我所谓的控制狂(Control Freak)架构,系统反而容易失控,一个小的意外就会导致连锁反应,延烧形成不可挽回的局面,导致系统错乱甚至崩溃,这是必然的、早晚会发生的事情。
现代社会因为商业竞争和使用者太多等因素,导致系统需求多、需求複杂、需求经常需要改变、且牵涉因素太多,想要完美地控制流程难度越来越高。况且,控制狂的设计还会导致牵一髮动全身,风险非常高。从这个时代开始,设计分散式、鬆耦合的系统才是正确的道路。
鬆耦合的(loosely-Coupled)系统是由许多小巧的、自给自足的程式模组(连同其资料)组合起来的,好的微服务(microservices)设计也应该以此为设计原则。这些自给自足的程式模组可以随时加入系统或者从系统中移除,不会造成系统太大的涟漪。模组动态加入、移除、更新,根据系统繁忙程度动态地複製模组实体来分担任务,或消减模组实体来减少资源耗费,这些都是这类系统的日常,只要一开始设计的好,后面一点都不费劲。
当我们不设计一大块的控制狂系统,改设计许许多多的鬆耦合模组联合的系统时,我们马上面临一个问题:这些模组要如何彼此协作,还能够保持彼此之间鬆耦合?答案是透过「讯息」的传递,这就是为什么「讯息」在现代的系统中扮演很重要的角色。
当一个模组接收到讯息时,就会做出一些反应,反应的结果可能会产生数量不一定的讯息,这些讯息又进入到其他模组。就是在这些讯息的收发之间,许多模块一同完成了一件更大的任务。所以说:鬆耦合的(loosely-Coupled)系统是由许多小巧的、自给自足的程式模组(连同其资料)组合起来的。
大量透过讯息来联繫许多的模组,会面临一个潜在的问题:讯息量太大的时候怎么办?使用讯息时,我们一般透过所谓的「传讯中间系统」(messaging middleware)来传递讯息,以保持模组之间的鬆耦合。我们当然可以利用一个中央的传讯中间系统来连上系统内的全部模组,但我不建议这么做,因为如果讯息量很大,就算是丛集化(clustered)的中央传讯系统,依然可能很快就抵挡不住大量讯息的狂风暴雨。
「微服务设计的十个步骤」一文提到第七步是「设计讯息瀑布」,就是用来解决这个问题的。我发明了一个「讯息瀑布」机制,来尽可能在设计之初就保留最大的弹性,抵抗讯息风暴。讯息瀑布机制的两个重要的意义是:1. 让讯息之间的上下游关係明确,避免讯息发生循环。2. 「传讯中间系统」一开始就分割得很细,有助于后续的扩展。
讯息瀑布的设计重点是:1. 先把所有的讯息类型排列出来。2. 设计出数个「传讯中间系统」,每个只经手某些类型的讯息,「传讯中间系统」之间要有严格的上下游关係。3. 每个模组再根据各自关联的讯息,连接到适当的「传讯中间系统」,一个模组可以连接到不只一个传讯中间系统。
儘管你的鬆耦合系统一开始可能没有抵抗讯息风暴的需要,但我还是建议你一开始就设计讯息瀑布,总有一天老闆会称讚你有先见之明的。
鬆耦合的系统,对我们在程式设计、架构设计、和维运方式等方面都提出挑战,所幸的是,一旦我们通过了挑战,我们就能进入一个美好的桃花源。这挑战,值!
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
截至2023年,大众高尔夫GTI的最新款车型为2024款。关于2025款高尔夫GTI的价格和配置信息,目前尚未有官方发布...浏览全文>>
-
在当今社会,汽车已经成为人们日常生活中不可或缺的一部分。对于许多家庭来说,选择一辆适合自己的车不仅关乎...浏览全文>>
-
随着汽车市场的不断变化与发展,2025款大众CC以其优雅的设计和卓越的性能吸引了众多消费者的关注。作为一款备...浏览全文>>
-
安徽阜阳探影新车报价2023款大公开:买车不花冤枉钱随着汽车市场的不断发展,消费者对于购车的性价比和实用性...浏览全文>>
-
在安徽滁州地区,上汽大众途观L是一款备受关注的中型SUV。途观L凭借其宽敞的空间、强劲的动力以及丰富的配置,...浏览全文>>
-
关于2025款大众ID 系列车型在安徽淮南的售价及落地价问题,我们可以从以下几个方面进行详细分析。大众ID 系...浏览全文>>
-
安徽阜阳帕萨特多少钱?选车秘籍与落地价全攻略在安徽阜阳,选择一款适合自己的帕萨特车型需要综合考虑预算、...浏览全文>>
-
在当今的汽车市场中,新能源汽车因其环保性和经济性逐渐成为消费者关注的焦点。对于生活在安徽阜阳地区的朋友...浏览全文>>
-
随着新能源汽车市场的快速发展,消费者对于新能源车型的关注度持续攀升。作为一款备受瞩目的高端新能源车型,...浏览全文>>
-
在2024款的汽车市场中,一汽-大众ID 6 CROZZ以其豪华配置和出色的性能吸引了众多消费者的关注。作为一款纯电...浏览全文>>
- 安徽阜阳探影新车报价2023款大公开,买车不花冤枉钱
- 安徽阜阳帕萨特多少钱?选车秘籍与落地价全攻略
- 安徽阜阳途锐新能源多少钱?选车秘籍与性价比大公开
- 奇骏试驾需要注意什么
- 长安欧尚520试驾操作指南
- 试驾哈弗H6操作指南
- 安徽阜阳探影落地价实惠,配置丰富,不容错过
- 丰田雷凌预约试驾操作指南
- 滁州ID.4 X多少钱 2025款落地价,换代前的购车良机,不容错过
- QQ多米最新价格2025款,各配置车型售价全揭晓,性价比之王
- 阜阳ID.4 CROZZ新款价格2025款多少钱?选车指南与落地价全解析
- 阜阳ID.7 VIZZION多少钱?选车秘籍全攻略
- 滁州大众Polo最新价格2024款,各配置车型售价一目了然
- 天津滨海大众Polo落地价,各配置车型售价一目了然
- 亳州途观X多少钱?选车秘籍全攻略
- 奥迪e-tron GT试驾,如何享受4S店的专业服务?
- 安庆探影落地价全解,买车必看的省钱秘籍
- 岚图梦想家 2025新款价格大揭秘,各配置车型售价一览表
- 山东济南长安启源E07多少钱 2024款落地价,最低售价19.99万起,入手正当时
- 天津滨海T-ROC探歌新车报价2025款,购车前必看的费用明细