为什么需要微服务
单体应用的缺点:
1.复杂性高,服务难以被修改和重构。
2. 交付效率低,需要全量的构建和部署,测试流程多。
3.可靠性差,一个bug可能导致整个应用不能用。
4.伸缩性差,只能整体横向扩展,没法按模块扩展。
5.阻碍技术创新,只能使用同一框架和语言。
所以将服务拆分,单独部署,慢慢演化成了微服务架构。
微服务应用优点:
1.易于开发和维护。
2.可伸缩性强,每个服务可以独立扩容。
3.技术异构性,可以使用适合自己的技术,也可以尝试新技术。
微服务难点
1.服务拆分
2.服务间通信
3.微服务监控,怎么去统一的监控
4.数据一致性,需要事务操作的地方,拆分到了不同的服务
5.可靠性,怎么防止下游服务阻塞导致上游异常
网友评论