“好的架构是演化出来的,不是设计出来的”。
微服务是用来处理海量数据、业务复杂和需求频繁变更场景下的架构风格。并不是万金油。
单体项目有哪些缺点?
1.不好扩展,即使只有一个组件需要扩展也需要扩展整个项目。
2.不好维护,屎山代码维护成本高且风险大。牵一发而动全身。
3.风险高,一个很小的故障可能导致整个项目崩溃。
4.技术栈受限,整个项目只能使用相同的技术栈。
5.团队协作复杂。
微服务带来的挑战?
成本更高、开发更复杂、部署挑战更高 、数据一致性难维持、监控和故障排查难度更高