单体架构与微服务的区别:
单体架构
用一个归档包( war )解决所有问题的方法论 适合:简单小型 应用
缺点:
微服务特点
-
每个微服务可独立运行在自己的进程里
每个微服务都是一个tomcat
-
一系列独立运行的微服务共同构建整个系统
每个微服务都能独立运行,相互协作 每个微服务为独立的业务开发,只关注某个特定的功能
-
全自动机制(CI/CD) 异构(不同语言与数据存储)
-
轻量的通信机制
核心思想:分而治之
微服务使用场景:
微服务拆分方法:
- Demain Driven Design 简称:ddd
书籍讲解: 领域驱动设计(偏理论)
实现领域驱动设计(理论与实践)
领域驱动设计(速成) 推荐
- 面向对象 拆分
By name 状态 拆分
By verb 行为 拆分
拆分一个适合的微服务
- 按照职责划分
- 按照通用性划分
- 微服务粒度 --相对合理 良好地满足业务需求
- 增量迭代
每个微服务保持相对独立,修改过的微服务不设计其他微服务的改动
- 持续进化
语言的更换与技术的更替