Linux 集群和分布式相关概念
集群和分布式:
集群 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协议来实现。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了