扫码阅读
手机扫码阅读
从混乱的单体应用到微服务架构
485 2023-08-22
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:从混乱的单体应用到微服务架构
文章来源:
老邓聊开发
扫码关注公众号
混沌阶段
在项目的初期阶段,所有功能集中在一个项目中,以多个服务(Service)的形式实现不同的业务需求,这些服务通过数据访问对象(DAO)与数据库进行交互。此时,业务逻辑并不清晰,与数据库访问和前端接口高度耦合。
改进措施:
- 将业务逻辑和业务实体从数据库访问和外部接口中分离出来。
- 运用领域驱动设计(DDD)的思想,划分业务领域。
完成这些步骤后,项目将进入下一个阶段。
混沌初开
业务领域得到拆分,形成了独立的业务领域单元。在前端功能实现方面,可能需要多个领域的组合来完成,例如用户注册可能需要用户和短信两个领域的协作,这种组合在ServiceFacade中实现。
ServiceFacade负责提供外部服务接口,通过结合多个业务领域来完成最终业务功能。
拨云见日
随着业务增长,单个服务无法满足需求,变得过于庞大,需要拆分成多个项目,分配给不同的开发团队。
- 将不同的业务模块拆分为多个项目,如后台管理员、业务员、商品搜索、订单服务等。
- 这些服务通过共享领域(Domain)和领域的外部实现来导入到自己的项目中。
- 每个服务主要通过领域对象直接操作数据库。
此阶段的服务在保持了不重复原则(DRY)的同时,也为数据库带来了更大的负担。
微服务
当业务量快速增长时,单一数据库可能无法满足需求,这时项目需要演变为微服务架构。由于之前业务和领域已经得到清晰的拆分,迁移到微服务架构相对容易,尽管仍需要大量工作。
想要了解更多内容?
查看原文:从混乱的单体应用到微服务架构
文章来源:
老邓聊开发
扫码关注公众号
没有了
上一篇
依赖倒转以及为何要倒转
下一篇
老邓聊开发的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线