扫码阅读
手机扫码阅读
从混乱的单体应用到微服务架构
520 2023-08-22
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
查看原文:从混乱的单体应用到微服务架构
文章来源:
老邓聊开发
扫码关注公众号
混沌阶段
在项目的初期阶段,所有功能集中在一个项目中,以多个服务(Service)的形式实现不同的业务需求,这些服务通过数据访问对象(DAO)与数据库进行交互。此时,业务逻辑并不清晰,与数据库访问和前端接口高度耦合。
改进措施:
- 将业务逻辑和业务实体从数据库访问和外部接口中分离出来。
- 运用领域驱动设计(DDD)的思想,划分业务领域。
完成这些步骤后,项目将进入下一个阶段。
混沌初开
业务领域得到拆分,形成了独立的业务领域单元。在前端功能实现方面,可能需要多个领域的组合来完成,例如用户注册可能需要用户和短信两个领域的协作,这种组合在ServiceFacade中实现。
ServiceFacade负责提供外部服务接口,通过结合多个业务领域来完成最终业务功能。
拨云见日
随着业务增长,单个服务无法满足需求,变得过于庞大,需要拆分成多个项目,分配给不同的开发团队。
- 将不同的业务模块拆分为多个项目,如后台管理员、业务员、商品搜索、订单服务等。
- 这些服务通过共享领域(Domain)和领域的外部实现来导入到自己的项目中。
- 每个服务主要通过领域对象直接操作数据库。
此阶段的服务在保持了不重复原则(DRY)的同时,也为数据库带来了更大的负担。
微服务
当业务量快速增长时,单一数据库可能无法满足需求,这时项目需要演变为微服务架构。由于之前业务和领域已经得到清晰的拆分,迁移到微服务架构相对容易,尽管仍需要大量工作。
想要了解更多内容?
查看原文:从混乱的单体应用到微服务架构
文章来源:
老邓聊开发
扫码关注公众号
没有了
上一篇
依赖倒转以及为何要倒转
下一篇
老邓聊开发的其他文章
DRY原则下区分重复还是巧合
DRY原则(Don\x26#39;t Repeat Yourself)已经深入人心。重复的代码在不同地方出现,是程序隐患之
软件开发是设计还是生产?
这个问题就像“谁是我们的朋友,谁是我们的敌人”一样,是这个行业的根本问题。这个问题不能解决,
代码Review,Review些什么?如何Review?
从我个人面试经历来看,执行代码Review的公司要比执行了TDD的公司稍微多一点
劝君放弃微服务
最近几年以来,微服务开始大行其道。各种项目都开始采用微服务架构。在此基础上,又诞生了多种服务、框架用来治理
检查项驱动开发CheckList Drive Development
我找一个木匠订做一个饭桌。几天后,木匠做好了找我验收,我一斧子劈上去,桌子开了个口。我说这测试没通过,你这不
加入社区微信群
与行业大咖零距离交流学习
SAFe6.0与CMMI3.0映射
白皮书上线
白皮书上线