什么是微服务?

这里不引用书本上复杂的介绍。简单来说,微服务就是非常小的服务,小到一个服务只对应单一功能,只做一件事。这个服务可以独立部署和运行,服务之间可以通过RPC进行交互。每个微服务都是由一个独立的小团队开发、测试、部署、上线,并对其整个生命周期负责。

什么是分布式?

顾名思义,分布式服务分布在不同的机器上。一个服务可能负责几个功能,它是面向SOA的。服务也通过rpc或webservice进行交互。

在逻辑架构设计之后,应该进行物理架构设计。如果系统应用程序部署在多个服务器或虚拟机上,并且单独部署的部分通过各种通信协议相互交换信息,则可以视为分布式部署。生产环境下的微服务一定是分布式部署,分布式部署应用不一定是微服务架构,比如集群部署。它将同一个应用复制到不同的服务器上,但在逻辑功能上仍然是单个应用。

微服务和分布式服务的细微区别在于,微服务的应用不一定分散在多个服务器上,也可以是同一个服务器。属于分布式微服务,将模块拆分成独立的服务单元,通过接口实现数据交互。类似于分布式微服务的架构,只是部署方式不同。

集成:博客公园,黑马程序员

japan quarterly 日本季刊