微服务与分布式理解

分布式架构是什么?

分布式服务顾名思义服务是分散部署在不同的机器上的,一个服务可能负责几个功能,是一种面向SOA架构的,服务之间也是通过rpc来交互或者是webservice来交互的。逻辑架构设计完后就该做物理架构设计,系统应用部署在超过一台服务器或虚拟机上,且各分开部署的部分彼此通过各种通讯协议交互信息,就可算作分布式部署,生产环境下的微服务肯定是分布式部署的,分布式部署的应用不一定是微服务架构的,比如集群部署,它是把相同应用复制到不同服务器上,但是逻辑功能上还是单体应用

什么是微服务和分布式?

微服务就是将一个软件的功能进行拆分,比如某个功能经常使用或经常不使用,可以将该功能单独的设计为一个微服务。通过RPC(远程接口调用,一般通过网络进行调用不是部署在同一台机器的)对该功能进行调用(该句的内容包含了分布式的内容)。微服务之间可以使用不同的语言进行书写。只要按照约定的规范发送请求和接收数据。

分布式的意思分为两种,一种是将不同微服务进行部署,用以完成某个项目或应用。第二种意思是对同一个应用或功能部署在多台机器上,比如就是一个分布式的应用。还有就是该应用或服务的访问量特别的大,一台服务器可能无法承受该数量的访问,可以将同样的应用或服务部署到多个服务器上,再部署一个带有负载均衡算法的服务,就可以将访问的压力分布在各个服务器上,达到提高应用或服务系统抗压的能力。

微服务和分布式的区别

实践的角度看:可以说 微服务架构是分布式架构,反之则未必成立

微服务重在解耦合,使每个模块都独立。分布式重在资源共享与加快计算机计算速度。

分布式:分散压力。微服务:分散能力。

区别分布式的方式是根据不同机器不同业务:

将一个大的系统划分为多个业务模块,业务模块分别部署到不同的机器上,各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。

微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

微服务更加强调单一职责、轻量级通信(HTTP)、独立性并且进程隔离。

 

 

原文地址:https://www.cnblogs.com/yangsanluo/p/15753298.html