微服务相比单体服务主要是解耦,优缺点主要从开发、运行和维护三个方面看。

优点

1、开发

各模块不会相互影响,不容易造成代码冲突,容易做 code review 和功能测试。可以采用各自的技术栈。局部修改易部署。

2、运行

某个模块的异常不会影响到其它模块的运行。

3、维护

各模块按需扩缩容。此外,自己的数据不需要开放给无关的人员。

4、业务切分

开发人员关注自己的业务,便于组织管理。

缺点

1、开发

需要考虑分布式的复杂性,比如事务和系统容错等。

2、运行

通信成本较高,增加网络延迟。

3、维护

运维难度提升,需要做流量调度、链路监控等。

参考:微服务架构的优缺点_AOSIDIN的博客-CSDN博客_微服务架构的优缺点

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐