码迷,mamicode.com
首页 > 系统相关 > 详细

linux集群

时间:2018-11-17 20:43:16      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:发送   lin   反向   stc   cgi   调度   空间   linux   cal   

  • 负载均衡

当用户请求到达时-----httpd服务请求-----动态的通过fastcgi转发到后端指定主机

存储可以通过文件或者数据库系统,基于mysql送达给后端的服务器

10000(C10K问题)个请求中只有20%是动态的请求,其中又有20%需要连接数据库的,所以更多的负载发生在httpd

对于httpd一方面要响应请求,另一方面要承载反向代理,容易成为性能瓶颈,2000个请求需要application server负载,而application server承载能力1000个左右

数据请求----在执行复杂查询的时候能100个并发就不错了

所以解决途径-----向上扩展scale up:狂买机器 然而性价比不高,钱花的翻倍,性能提升有限

向外扩展---加更多的主机,把请求分散到更多主机(问题:调度操作谁来实现,比如httpd的调度模块把需求分散到后端,http是stateless协议,势必要跟踪用户访问的足迹,胖cookie导致诸多用户敏感信息在浏览器上,例如购物车等数据会放在服务器的内存空间中----session,浏览器二次访问中会把cookie发送给session,从而唤醒历史访问信息,那么问题来了,购物车信息可能第一次分发到机器1,第二次分发到机器2,卧槽~悲剧了)

上述问题mysql也会遇到

所以有了主从复制,数据存储都找到一台主机,其他数据库服务器作为从服务器存在,复制一份,那么负责分发任务的服务器不仅要负责任务分发还要顾及负载均衡

而且解耦也变得困难

这就是中间件的价值所在!!解析请求并决定分发给哪个数据库服务器:是主写,还是负载均衡的选择一台数据库进行读操作

  • httpd向外扩展

问题:静态文件无疑要复制一份到n份,更新站点时,后端内容会经常改,新程序会有bug;

不同用户调到不同服务器上,session的复制无疑是个大问题----这tm内存数据怎么迁移啊(用redis呗,用memocache的就该哭了)

如何做httpd的负载均衡?一个域名下有两个 做轮询

linux集群

标签:发送   lin   反向   stc   cgi   调度   空间   linux   cal   

原文地址:https://www.cnblogs.com/saintdingspage/p/9975213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!