今天起床看了篇微服务的文章,讲了讲微服务的概念:
区别于高度耦合,规模庞大,可扩展能力差,后期开发难度指数上升的各种问题的单体式应用程序,微服务就是一些协同工作,小而自治的服务;
也就是说,微服务架构是面向服务,将原本的单体应用程序划分成各种小的,可互相通信连接的微服务;各个微服务间相互独立,解耦合;
微服务有很多优点:
- 技术异构性:不同服务的开发技术可以不同,依据服务的场景选择合适的开发语言和技术
- 隔离性:一个服务瘫痪,不会造成整个系统的瘫痪
- 可扩展性:无需升级整个应用,只需扩展升级出问题的服务
- 易部署,好优化
微服务间的通信是通过RPC,HTTP,消息队列等实现的;
这样听起来微服务很像分布式??有什么区别呢??
分布式强调的是分散压力,而微服务强调的是分散能力
微服务的应用不一定是分散在多个服务器上的,他自己也可以在同一个服务器;微服务是出于精细化服务的目的提出的,而不想分布式更多的是为了分散负载压力