一、集群:

1、集群:

a、什么是集群

    集群就是具有完整功能的系统群集,一个集群节点坏了,其它节点能照常运行,这是不是像一个并联电路?一个并联电路节点坏了,其它节点还是能够正常工作的。

     集群的功能作用就是为了增加整个系统的负载和吞吐量,所以一般我们把集群和负载均衡拿到一起来讨论和研究,当然,集群的另一个显著功能就是做系统的容错,为了保证系统稳健、长久的运行下去,一个集群节点的故障不会导致整个系统完蛋,对于客户而言是透明的,只要能正常访问,他们都不知道您系统中或许某几个系统节点已经罢工了,这样就涉及到云计算中的弹性分配,我们能根据系统的高峰、低谷期动态增加或者减少集群节点。

    集群模式是不同服务器部署同一套服务对外访问,实现服务的负载均衡。

b、通俗理解

    同一个业务,部署在多个服务器上。(即:多台服务器部署相同应用构成一个集群)

c、集群的两大特性、能力、技术

    特性:可扩展性、高可用性

    能力:负载均衡、错误恢复

    技术:集群地址、内部通信

注:

1、内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。

2、集群的模式需要做好session共享,确保在不同服务器切换的过程中不会因为没有获取到session而中止退出。一般配置Nginx*的负载容器实现:静态资源缓存、Session共享可以附带实现,Nginx支持5000个并发量。

2、高可用集群:

既然是集群,就不能够出现单点故障,如果大家关注云服务,可能会接触到以下词汇,“双机热备”,“两地三中心”等等词汇。

双机热备是高可用的一种体现形式,如上图所示,生产环境中我们存在两个负载均衡节点,主节点处于激活状态,另一个节点处于备用状态,当主节点意外宕机,可以通过keepalived检测并迅速切换到备用服务,保障业务正常运转。

3、双机双工模式

双机双工模式:是cluster(群集)的一种形式,两台服务器均为活动,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份

二、微服务

    微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

微服务


三、分布式

分布式与集群的区别是什么?

微服务和分布式的区别?

    谈到区别,我们先简单说一下分布式是什么,所谓分布式,就是将偌大的系统划分为多个模块(这一点和微服务很像)部署到不同机器上(因为一台机器可能承受不了这么大的压力或者说一台非常好的服务器的成本可能够好几台普通的了),各个模块通过接口进行数据交互,其实分布式也是一种微服务。 因为都是吧模块拆分开来变为独立的单元,提供接口来调用,那么 他们本质的区别在哪呢?

    他们的区别主要体现在“目标”上, 何为目标,就是你这样架构项目要做到的事情。

    分布式的目标是什么? 我们刚刚也看见了, 就是一台机器承受不了的,或者是成本问题 , 不得不使用多台机器来完成服务的部署。

    而微服务的目标 只是让各个模块拆分开来,不会被互相影响,比如模块的升级亦或是出现BUG等等... 讲了这么多,可以用一句话来理解:分布式也是微服务的一种,而微服务他可以是在一台机器上。