11 | 架构现代化 :在气泡上下文中打造你的新城区
绞杀植物模式
- 深入了解
- 翻译
- 解释
- 总结
架构现代化的多种模式,包括绞杀植物模式、气泡上下文和自治气泡,为团队提供了多种策略和方法,帮助实现架构现代化,提高系统的稳定性和可维护性。文章介绍了变动数据捕获模式,事件拦截模式和遗留系统封装API模式,以及它们在架构现代化中的应用。通过这些模式,可以实现数据同步和访问,逐步演进到微服务架构。气泡上下文和自治气泡模式为新需求落地成微服务提供了演进路线,帮助架构师思考如何划清界限、保持隔离,以及如何处理数据问题。这些模式的应用不仅有助于理解概念,还能激发概念性思维,帮助发现相似点。最后,文章提出了思考题,鼓励读者分享在项目中使用气泡上下文开发新需求的经验,并期待读者的分享和交流。
《遗留系统现代化实战》,新⼈⾸单¥59
全部留言(4)
- 最新
- 精选
- Michael老师能再讲一下什么是限界上下文么?我看一些书里面写的是限界上下文其实可以拆分成微服务,但是看八叉老师的课,说的是把限界上下文想成一个筐,解决不了的都往里扔,有点不太理解,老师能不能再讲讲
作者回复: 我不太清楚八叉这个说法的上下文,只谈谈自己的理解吧。 我们在建模的时候会发现,随着业务越来越复杂,一个模型所承载的东西就会变得越来越多。比如一个Product模型,可能包含库存业务所需要的仓库信息、货架信息等,也包含销售业务所需要的价格、优惠信息等。这样必然会导致模型越来越混乱。如果把模型拆开,但仍然在一个上下文中使用,也会带来混乱。因此,Eric用限界上下文来对模型的边界进行设置,在一个限界上下文内保持模型的一致性,不受外接干扰。 至于一个限界上下文是否对应一个微服务,我觉得这里面其实没有必然的关系。它们解决的仍然是不同的问题。限界上下文解决的是模型的完整性的问题,而微服务解决的是系统弹性问题。只不过在有些情况下,一个微服务的边界恰好与一个限界上下文的边界重合了而已。
2022-05-302 - aoe1、遗留系统中在对接第三方接口(支付、发短信、图片存储等)的时候会有一个防腐层,将不同供应商的接口统一转换成我们系统定义的格式 2、新建了一个项目,专门对遗留系统的核心业务添加功能测试,有一个气泡上下文和遗留系统的数据库、Redis交互,隔离了望而生畏的逻辑。新的查询逻辑尝试使用 DDD,感觉效果还不错。虽然 DDD 也是一知半解,但用起来确实比单纯的 CRUD 更爽,就是开发起来难度比 CRUD 大,最大的难点是发挥想象力创建领域模型
作者回复: 感谢分享,你们做得很不错~
2022-05-052 - 刘大明在上家公司,我们经常会对接很多第三方的机票供应商。 我们对接的时候,是将每个不同的机票供应商的数据,统一转换成系统中我们自定义的格式和字段,包括枚举类也是,都必须匹配我们自己的格式。 当时我并没有理解为是防腐层,而是理解为适配器模式或者说是外观模式,当时总觉得这样理解有点问题,现在知道了属于一种防腐层。 但是防腐层增加了额外的代码以及维护成本,还要考虑扩展问题,当时采用策略模式,去执行不同的三方接口。
作者回复: 适配器也是一种防腐层,你可以理解为出国旅游必须带一个电源转换头,那个就是适配器。防腐层是从另一个角度说的,是不希望其他上下文的模型污染(侵入)当前上下文。我会在第14节课提到适配器和防腐层。 与防腐层带来的这点维护成本相比,直接使用外部接口带来的问题会更大。
2022-05-061 - 公号-技术夜未眠很接地气2022-05-08