分布式服务是将服务部署在不同的计算机上,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间通过rpc或webservice进行交互。具体来说,分布式服务将单体架构中的各个部分拆分,然后部署到不同的机器或进程中,以此分散压力,解决网站高并发带来的问题。
微服务则是一种更彻底的面向服务的架构,它将系统中各个功能个体抽成一个个小的应用程序,基本保持一个应用对应一个服务的架构。微服务重在解耦合,使每个模块都独立,从而分散的是能力。从实践的角度来看,微服务架构通常是分布式服务架构,但反之则未必成立。因此,选择微服务通常意味着需要解决分布式架构的各种难题。
综上所述,分布式和微服务在概念上相似,但在架构、作用和粒度上有所区别。分布式服务是一种将服务分散部署的手段,而微服务则是分布式服务架构的子集,更强调服务的专业化和精细分工。因此,两者既相互联系又相互区别。