了解分布式架构与微服务

分布式系统

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

集群

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

S0A 架构

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

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

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

微服务

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

总结

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

学习来自知乎链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值