ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Load Balance Cluster 负载均衡集群 ### 实现方式 1)使用DNS将请求解析到不同的主机,但DNS缓存会造成麻烦,同一个用户两次请求由于DNS缓存会解析到同一个主机。 2)使用负载均衡服务器, 说明:若浏览器是多线程的,来自于同一个客户端的一个请求可能包含多个web对象,不同的web对象可能由不同的主机响应。 ### web集群应用可能涉及的问题 1、发帖后,帖子的标题和内容保存在集群中的一台主机;若下次访问时轮询到其他主机,则无法找到帖子。 >[info]独立出一台主机作为mysql服务器,用来存储帖子的标题和内容(不包括附件),这样集群中的每台主机都可以访问。 2、问题又来了,数据库中最多保存这个附件的链接,附件不可以存储在mysql数据库中。 >[info]使用NFS作为共享存储,集群内的主机都可以访问。 3、网站页面固然可以放在NFS上,但是,影响访问速度,所以,网站页面一般放在本地。那么网站页面更新时如何保持一致性? >[info]网站页面同步,可以使用rsync+inotify(文件改变发起通知) 4、当访问量很大时,一台调度器无法应付这种情况时,对调度器做负载均衡,没有什么效果。 >[info]根据功能进行切分,将不同功能解析到不同的集群。 ### mysql集群应用可能涉及的问题 1、第一台服务的更新,第二台无法得知更新;若使用共享存储,但两个mysql不能同时读取同一个文件,因为无法加锁 >[info]一般采用一主多从的方式 ## 总结 负载均衡集群有一定的`高可用能力`,但是不是高可用集群,因为负载均衡集群内部`不检测心跳信息`。但调度器会对后端的服务器进行健康状态检查。 ## 负载均衡的硬件实现 F5的BIG IP Citrix的Netscaler A10 Networks Radware ## 负载均衡的软件实现 ### 4层网络层 lvs,对于应用层的内容不做任何分析处理,效率更高,但是没有更多的高级特性 ### 7层反向代理 nginx:http,smtp,pop3,imap haproxy:http,tcp(mysql,smtp)