集群和分布式:
集群 Cluster
集群是为解决某个特定问题将多台计算机组合起来形成的单个系统
集群的类型:
- LB:负载均衡集群,每个主机承担一部分访问请求
- HA:高可用集群,避免单点失败的问题
- HPC:高性能计算集群
分布式:
分布式:将数据、服务分布在不同的主机上。
分布式应用:
- 分布式应用--服务按照功能拆分,使用微服务
- 分布式静态资源--静态资源放在不同的存储集群上
- 分布式数据和存储--使用key-value缓存系统
- 分布式计算--对特殊业务使用分布式计算,比如Hadoop集群
集群和分布式:
集群:
- 同一个业务系统,部署在多台服务器上。集群中每一台服务器实现的功能没有差别,数据和代码都是一样的
分布式:
- 一个业务被拆成多个子业务,或者本身就是不同的业务,部署在多台服务器上。分布式中每一台服务器实现的功能是有差别的,数据和代码也是不一样的,分布式每台服务器功能加起来,才是完整的业务
LB Cluster 负载均衡集群
- 通过硬件设备来实现负载均衡
例如:F5 Big-IP - 通过软件来实现负载均衡
例如:使用LVS、nginx、haproxy等。
负载均衡的会话保持:
用户登录的时候通过cookie+session来保存用户的信息,session存放在其中一台服务器上,如果进行调度的时候,接收这个请求的机器上面没有对应的session信息,就会认为这是个新用户。
为了解决这个问题,有一下的解决方案:
1. session sticky:session绑定,同一用户调度固定服务器
Source IP:LVS sh算法(对某一特定服务而言)
Cookie
缺点:固定的一台主机损坏会导致session的丢失
2. session replication:session复制,使每台服务器拥有全部session
session multicast cluster
3. session server:session服务器,专门使用一个服务器存放session信息
Memcached,Redis
HA Cluster 高可用集群
主要使用keepalived:vrrp协议来实现。