内容来自《从程序员到架构师》

将单体式架构迁移到微服务架构后,确实带来了诸多便利,下面具体谈谈微服务的好处有哪些。

1)易于扩展:某个模块的服务器处理能力不足时,在该模块所处应用的服务器中增加节点即可。

2)发布简单:在单体式架构中,因为所有代码存放在一个应用中,所以每次发布代码时,需要将整个应用一起发布,使得所有团队人员都要配合集成测试、统一协调排期。但是迁移到微服务架构后,只需要保证对外契约不变即可,发布过程变得非常简单。

3)技术异构:因为各个服务之间相互独立、互不影响,所以只需要保证外部契约(一般指接口)不变即可,而内部可以使用各自不同的语言或框架。

4)便于重构:在单体式架构中,因为系统重构的影响面较大,所以在做任何改动时都要小心翼翼,以至于开发人员不敢尝试大的重构或优化,最终出现代码质量加速下降的情况。但是在微服务架构中,因为把模块间的影响进行了隔离,所以大大增加了重构的灵活性。