首发日期:2019-04-08分布式
首先,说一下服务吧。服务,意思是某些功能的提供者。好比在一个电商平台中,物流查询是一个服务,短信发送是一个服务。微服务
而后说一下“微”,微就是微化服务,把一个服务拆成多个服务,直到它是一个单独可提供的服务单元为止,好比一个电商平台能够提供一个购物服务,而这个购物服务能够拆分红商品查询服务,商品购买服务,物流查询服务等等服务。而为何要微化服务呢?这是为了应用程序解耦和提升服务的性能效率。性能
当微化了服务后,每一个服务都是一个单独的可运行单元。那么这时候就能够随意地对这个服务进行扩展拷贝。一个平台可能有一些高访问的时候,好比双11抢购,而若是不解耦,那么咱们如何提升抢购服务的抗压能力呢?而若是将抢购服务独立成一个可运行的单元,那么这时候咱们能够把这个服务进行多部署,经过部署多个负责抢购服务的程序来提升抢购服务的性能。htm
除此以外,做为一个单独的可运行单元以后,对于分布式部署也是有好处的。在分布式的部署中,能够按照不一样的状况来调整服务数量,好比一个地区可能比较喜欢作A服务就多部署A服务,若是比较少作B服务,那么就少部署B服务。blog
下图是来源是martin fowler官网的一个概念图,与我上面所说的大同小异:
部署
martin fowler是微服务概念的奠定者,他虽然不是第一个提出微服务概念的人,但他是第一个完备地说出微服务概念的人,想了解更多概念能够参考如下两个连接:
https://martinfowler.com/articles/microservices.html
https://martinfowler.com/microservices/get