微服务、集群、分布式概念及区别

微服务、集群、分布式概念及区别

定义

微服务:  它是Martin Fowler在2014年首次提出的一个概念,微服务是一种架构风格,可以说是一种处理问题的思想,通过这种思想可以将原来一个复杂的系统拆分成多个子系统,多个子系统之间是相互独立的,有自己独立的进程,可以单独部署,每个子系统(微服务)都只关注实现自己的业务功能,这样子就解决了原来所有业务都存放在一个系统上,让系统显得很臃肿,并且难以抽离的问题。 


集群:  简单的说是将同一个功能的项目(系统)部署到不同的服务器中,提高了系统的高可用性,就好像我们以前在学校机房里面的备用发电机一样,如果正常的发电机无法使用了,就可以使用备份的,这样就不能停止学习了。 


分布式:  通俗的讲,是将一个大系统中拆分出来的子系统分别部署到不同的服务器上,与集群不同之处在于,集群是将同一个业务的项目部署在不同的服务器上,是物理层面的,保障的是系统的高可用性,而分布式是一种工作方式,目的在与将不同业务的子项目部署到不同的服务器上,并不能保障各个项目的高可用性,但是可以对分布式中每个节点做集群处理,从而实现高可用的目的。 


区别

微服务、集群、分布式三者的关系区别:

  1. 微服务是从业务层将一个复杂的系统拆分为多个不同功能的子系统的思想或者说架构风格,可以说是实现集群和分布式的前提。微服务强调单一职责、轻量级通讯(http)、独立性并且进程隔离。通过更细粒度的切分,使得整个系统的迭代速度并行程度更高,但是运维的复杂度和性能会随着服务粒度更细而增加。
  2. 集群则是将按照微服务拆分出的同一个业务系统部署到不同的服务器上,让一个系统存在多份,保证高可用。
  3. 分布式则是按照微服务架构风格拆分出来的不同业务系统部署到不同的服务器上,可以对分布式上的每一个节点进行集群设置,实现高可用,他是一种工作的方式。
  4. 分布式不一定是微服务,一个大应用拆分为三个应用,虽然分布式了但还是很庞大,不是微服务,微服务核心要素要小。
  5. 微服务不一定是分布式,微服务的应用不一定分散在多台服务器上,也可以部署在同一台不服务器上。
  6. 微服务重在解耦每个模块独立。分布式重在资源共享与加快计算机计算速度。分布式:分散压力;微服务:分散能力。
  7. 分布式和集群是两个概念,集群是个物理形态,分布式是个工作方式。

样例

分布式是缩短单个任务的执行周期来提升效率,集群式是提高单位时间内执行任务数来提升效率。
例如:一个任务有10个子任务组成,每个子任务单独执行需要1小时,则在一台服务器上执行该任务需要10小时。
采用分布式方案:提供10台服务器,每台服务器只负责处理一个子任务,不考虑任务间依赖执行完需要1小时。
而采用集群方案:提供10台服务器,每台独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小时后10个任务同时完成,整体看来还是1小时内完成一个任务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值