了解分布式架构与微服务

分布式系统

分布式系统,是指一个完整的应用系统被拆分后,分别部署到不同的网络节点中,这样的系统往往是一些大型的系统。这种做法的好处是,可以提高系统的运算能力。与分布式系统相对应的就是 单体应用系统,单体应用系统的思想是all in one 思想, 就是全部在一起,一个系统的全部服务都集中在一个网络节点上。
了解分布式架构与微服务_第1张图片

集群

所谓集群就是,相同的事情多个人做,比如在上图分布式系统中,商品服务被部署到一台机器上,但是如果在购物节时,请求太多,一台机器根本扛不住,这时我们也增加10台机器,这10台机器都部署 商品服务, 这样由这10台机器就组成了商品服务集群
集群的初衷就是提高系统的吞吐量,另一个就是提高可用性,比如一台服务器挂了,不至于服务不可用。
了解分布式架构与微服务_第2张图片

S0A 架构

SOA 架构就是面向于服务的架构思想,本质上就是以服务为中心,把应用拆分为多个服务,抽离出可重用的服务,为每个服务的单独扩展和开发提高便利性。
了解分布式架构与微服务_第3张图片
在SOA中,系统被分解为多个服务,每个服务都有独立的功能,并按照一定标准进行设计和实现。服务之间通过ESB传递消息,并且可以动态发现和调用其他服务。

在上图中,四个不同的服务A、B、C和D通过ESB相互通信。ESB是一个中央的、可重用的基础设施组件,被用于协调和组织分布式系统中的各个服务之间的通信和交互。ESB提供了路由、协议转换、消息转换、消息路由等重要的功能,它能够连接不同的服务并提供一个统一的接口,使得在系统中进行通信更加容易。

SOA架构提供了一种松耦合的方式来组织系统,因为不同的服务可以由不同的团队开发和维护,并且可以独立地扩展和修改。此外,SOA架构还具有高度的灵活性和可重用性,因为服务可以在不同的系统和应用程序之间共享和重用。

微服务

微服务是一种SOA思想的延续,任然关注服务,但是强调是"微",微体现的是服务开发成分要低,职责要尽量单一,同时部署也要灵活方便。目前微服务是非常流行的一种软件架构,在Java生态中 SpringCloud就提供了微服务的全站解决方案。
了解分布式架构与微服务_第4张图片

总结

分布式和集群都是从软件部署的角度描述,SOA与微服务是从软件的架构阐述。一个采用SpringCloud技术开发系统 必然是微服务,当然同时也是分布式系统,当然如果为了高可用,必定也采用集群。

学习来自知乎链接

你可能感兴趣的:(分布式微服务,架构,分布式,微服务)