优点
- 每一个服务足够内聚,代码容易理解;
- 开发效率提高,一个服务只做一件事;
- 微服务能够被小团队单独开发;
- 微服务是松耦合的,是有功能意义的服务;
- 可以用不同的语言开发,面向接口编程;
- 易于与第三方集成; - 微服务只是业务逻辑的代码,不会和HTML、CSS或者其他界面组合;
- 可以灵活搭配,连接公共库/连接独立库。
缺点
- 分布式系统的负责性;
- 多服务运维难度,随着服务的增加,运维的压力也在增大;
- 系统部署依赖;
- 服务间通信成本;
- 数据一致性;
- 系统集成测试;
- 性能监控