什么是微服务
微服务就是将一个单一的应用程序拆分为一组小型服务的方法,拆分完成后,每一个服务都运行在独立的进程中,服务和服务之间采用轻量级的通信机制沟通(SpringCloud中基于HTTP的RESTful api)
springcloud的优点:
- 微服务架构是将系统中的不同功能模块拆分成多个不同的服务,这些服务进行独立地开发和部署,每个服务都运行在自己的进程内,这样每个服务的更新都不会影响其他服务的运行;
- 由于每个服务是独立部署的,所以我们可以更准确地监控每个服务的资源消耗情况,进行性能容量的评估,通过压力测试,也很容易发现各个服务间的性能瓶颈所在;
- 因为每个服务都是独立开发,项目的开发也比较方便,减少代码的冲突、代码的重复,逻辑处理流程也更加清晰,让后续的维护与扩展更加容易;
- 微服务可以使用不同的编程语言进行开发;
springcloud的缺点:
- 微服务架构增加了系统维护、部署的难度,导致一些功能模块或代码无法复用;
- 随着系统规模的日渐增长,微服务在一定程度上也会导致系统变得越来越复杂,增加了集成测试的复杂度;
- 随着微服务的增多,数据的一致性问题,服务之间的通信成本等都凸显了出来;