系列文章是博主对沈剑的《架构师训练营》分享内容的个人笔记总结,原内容公众号“成为架构师”。
什么是耦合
耦合:不该联动,因为各种原因,绑在了一起
怎么找系统中耦合的地方,也就是找系统中被动联动的地方,这里沈老师给出了很形象有趣的方法:“当你怒骂:‘MD,明明和我没有关系,为何我要配合’ 的地方 就是耦合”
IP耦合
前面经常提到的节点缩容扩容都会提到上游修改IP重启,这就是一种典型的IP耦合。
拿数据库来说,如果要下线一个旧节点,上线一个新的节点,最死板的做法就是一个个通知上游,数据库IP换了,麻烦改下配置再重启一下。

内网域名替代内网IP
有什么办法可以做到只修改一处配置就能实现下游节点的变更呢?
答案就是用内网域名替代内网IP,这一处改动非常的小,每次变更只要运维配合修改数据库节点的DNS解析就可以了。

如果是短连接,那么会自动迁移,如果是长连接那么手动断开就连接,后续数据库自有的连接池会重连上新的连接。
公共库耦合

多个业务依赖于一个库,可能会出现业务1改动了biz.jar里的相关代码,做了大量测试,确保无误后上线结果业务2、业务3出现了线上bug,而原因是因为业务1的新功能
架构解耦:IP与公共库耦合及实践

本文是博主对《架构师训练营》的笔记,探讨了耦合的概念,并重点关注IP耦合和公共库耦合问题。IP耦合常见于上游修改IP导致下游系统需要配合调整,可以通过内网域名替代IP来减轻这种耦合。公共库耦合可能导致业务间的意外影响,解决方案包括代码垂直拆分和共性部分下沉为服务。
最低0.47元/天 解锁文章
979





