- 服务化通信协议的多样性带来的通信复杂度问题,比如WebService,生产者和消费者要保持客户端的强一致性,导致升级发布协同困难。
- 系统内部复杂度对外暴露,ip等参数的变动将导致牵连修改。
- 不同通信标准,在系统交叉调用时,链路追踪,故障排查都极为困难。
- 微服务架构风格是一种将单个应用程序开发为一组小型服务的方法,每个小服务运行在独立的进程中,以轻量级的协议(RESTful)进行通信,且这些小服务围绕业务能力建立,并且可以完全自动化的独立部署(如容器技术),这些服务的集中管理只有最低限度,可以用不同语言、不同的持久化手段构建。
- 前端系统会变薄,业务逻辑都在中部的微服务中,前中层通过服务网管路由通信,最下面独立出基础服务层。
- 使用RESTful协议后,生产者的字段扩展,消费者不需要改动就可以兼容。
- 使用注册中心、配置中心等屏蔽系统复杂度,迁移、扩展时非常方便。
- 通信协议统一后,链路追踪实施起来非常方便,故障排查也顺了。
- 大一统的架构会追求功能的全面,全面往往意味着不能灵活地做技术选型,导致多个方面表现都不突出。
- 统一的标准,是为了让系统更可控和有序,而不是用来应对高并发等高性能场景。