没有合适的资源?快使用搜索试试~ 我知道了~
最新网站负载均衡解决方案.doc
3 浏览量
2022-12-01
11:02:15
上传
评论
收藏 10MB DOC 举报
最新网站负载均衡解决方案.doc
资源推荐
资源详情
资源评论









网站负载均衡解决方案
(可以直接使用,可编辑 优秀版资料,欢迎下载)

网站负载均衡解决方案
Web 负载均衡(Load Balancing),简单地说就是给我们的服务器集群分配“工作
任务”,而采用恰当的分配方式,对于保护处于后端的 Web 服务器来说,非常重要。
反向代理负载均衡
反向代理服务的核心工作主要是转发 请求,扮演了浏览器端和后台 Web 服
务器中转的角色.因为它工作在 层(应用层),也就是网络七层结构中的第
七层,因此也被称为“七层负载均衡”。可以做反向代理的软件很多,比较常见的一
种是 Nginx.
Nginx 是一种非常灵活的反向代理软件,可以自由定制化转发策略,分配服务器
流量的权重等。反向代理中,常见的一个问题,就是 Web 服务器存储的 session
数 据,因为一般负载均衡的策略都是随机分配请求的。同一个登录用户的请求,
无法保证一定分配到相同的 Web 机器上,会导致无法找到 session 的问题。

解决方案主要有两种:
配置反向代理的转发规则,让同一个用户的请求一定落到同一台机器上(通过分
析 cookie),复杂的转发规则将会消耗更多的 CPU,也增加了代理服务器的负担.
将 session 这类的信息,专门用某个独立服务来存储,例如 redis/memchache,这
个方案是比较推荐的。
反 向代理服务,也是可以开启缓存的,如果开启了,会增加反向代理的负担,需
要谨慎使用。这种负载均衡策略实现和部署非常简单,而且性能表现也比较好。
但是, 它有“单点故障"的问题,如果挂了,会带来很多的麻烦.而且,到了后期 Web
服务器继续增加,它本身可能成为系统的瓶颈。
配置文件样本:
#user nobody;
worker_processes 1; #pid logs/nginx.pid;
events {
worker_connections 1024; }
{
include mime.types;
default_type application/octet—stream;
sendfile on;
keepalive_timeout 65;
upstream hcoder。net {
server 192.168。1。188:80 weight=5;
server 192.168.1.158:80;
}
server {
listen 80;
server_name www。hcoder.net;
location / {
proxy_pass :// hcoder.net;
proxy_set_header Host $host;
proxy_set_header X—Real-IP $remote_addr;
proxy_set_header X-Forwarded—For $proxy_add_x_forwarded_for;
} }

使用 memcache 同步 session 并协调缓存
一旦使用了负载均衡,session 就会存在同步问题,使用 memcache 同步 session
是个不错的解决方案。
需要准备一个相对强大的 memcache 服务器,安装 memcache 服务。代码层将其
他几个主机的 seesion 都指定到这台 memcache 服务器.
相关文章阅读(提供了 memcache 的详细讲解涵盖:介绍、安装、使用等说明):
《memcache 缓存与 session》
地址: ://www。hcoder.net/books/read_10090。html
memcache 是什么?
memcached 是以 LiveJournal 旗下 Danga Interactive 公司的 Brad Fitzpatric 为首开
发的一款软件。现在已成为 mixi、hatena、Facebook、Vox、LiveJournal 等众多
服务中提高 Web
应 用扩展性的重要因素。许多 Web 应用都将数据保存到 RDBMS 中,应用服务
器从中读取数据并在浏览器中显示.但随着数据量的增大、访问的集中,就会出现
RDBMS 的负担加重、数据库响应恶化、网站显示延迟等重大影响。这时就该
memcached 大显身手了。memcached 是高性能的分布式内存缓存服务器.一般
的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态 Web
应用的速度、提高可扩展性。

memcached 与 php 结合原理
memcache 缓存数据形式
memcache 以键值对形式进行数据的保存,通过与 php 的结合 memcahe 可以将
变量、数组、对象等数据保存到内存中.极大的提升了服务器缓存的效率。
为 了提高性能,memcached 中保存的数据都存储在 memcached 内置的内存存
储空间中。由于数据仅存在于内存中,因此重启 memcached、重启操作系统会
导致全部数据消失。另外,内容容量达到指定值之后,就基于 LRU(Least Recently
Used)算法自动删除不使用的缓存。memcached 本身是为缓存而设计的服务器,
因此并没有过多考虑数据的永久性问题.
开启 php 的 memcache 扩展
php 默认情况下并没有开启的 memcache 扩展,下面将详细讲解 memcache 扩展
的安装。
剩余145页未读,继续阅读
资源评论

黑色的迷迭香
- 粉丝: 3
- 资源: 4万+

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
