架构师训练营 第十周 总结
本周学习的内容是大家期待的微服务和DDD相关的知识和案例,每当聊起微服务,几乎都会谈到DDD,对于微服务来说,最重要的就是划定微服务的边界,而DDD提供了一种划定微服务边界的设计思路。目前在金融机构做开发,也在尝试使用微服务和DDD,在尝试过程中也是深有体会:
无论是微服务还是DDD,本身是有一定的门槛的,一方面是对团队成员的技术能力和对业务的理解有一定要求,不但要掌握相关知识,还要能运用到实际工作中,否则很容易走入误区,变成对概念的生搬硬套,而忘了初衷。另外由于服务拆分后带来的网络通讯、事务一致性等一系列问题也是需要团队成员开发过程中非常注意。还有就是使用DDD时一定要注重统一语言的建立,以减少沟通的障碍;另一方面是系统微服务化之后,所带来的DevOps、版本管理、运维管理等方面的复杂度比单体系统复杂得多,对组织来说也是一个很大的挑战。因此,在做微服务和DDD之前,一定要去思考这样做能带来什么收益,是否要一步到位,是否能逐步演进,这是架构师需要权衡的重点。
课程中逻辑思维的案例是一个典型的通过分析业务期望和系统现状,发现系统中缺少一个业务领域的例子,这也说明了只有对业务领域的理解足够深刻才能做出好的设计。作为开发人员,不要局限在功能开发是否完成,是否用了什么技术,要学会理解业务,理解业务如何发展,理解业务的目标与期望,才能更好地称为一个架构师。
评论