关于微服务架构(中台架构、领域驱动设计、组件设计原则)的一点思考
1、微服务落地的关键:
(1)关注点:业务需求,不是技术;
(2)关键点:在理顺业务的边界和依赖,先有独立的模块,后有微服务;
(3)价值和目标:实现业务的复用,培养每个业务模块负责人的owner意识;
(4)目前常用于生产的基于网关的微服务架构:关键点是安全,辅助流控和协议适配;
2、DDD
(1)解决什么业务问题域:目前大多数公司都存在软件只有需求分析,并没有真正的体系化设计:产品经理主观上为了KPI往往会增加一些功能,没有达到目的然后也就不管了,然后继续堆功能,最后会密密麻麻功能变得难以维护,并没有统一内在的逻辑设计;
(2)可以避免996,007,自己都感动了。。
(3)DDD通过统一的领域模型维持内在的逻辑一致性,构建思想体系;统一各模块的概念抽象体系 + 数据模型体系 + 服务能力体系;
(4)DDD战略设计:
分析思考:子域划分分析,限界上下文分析(微服务的边界),依赖关联分析,统一概念抽象(统一领域语言);
梳理工作:梳理业务规则和边界,明确业务术语,通过战略设计划分模块和服务的边界和依赖关系;
开发关注的是什么,业务真正关注的是什么;
(5)DDD战术设计:具体的方案实现,包含数据模型实现(核心域的实体和事件,支撑域的实体和事件,依赖域的实体和事件,业务变化的设计),服务能力的实现(核心能力的设计与实现),业务规则;
3、电商中台化建设目标:只需要上架商品即可快速完成一个产品的建设;
评论