2.24小时365天不间断服务 --- 优化服务器及基础设施的拓扑结构(冗余,负载分流,高性能的实现)

2.1引入反向代理apache模块
	2.1.2 根据http请求的内容来控制系统的行为
		1.若客户端请求的网址为 /images/logo.jpg, 则分配到图片专用服务器上
		2.若客户端请求的网址为 /news , 则分配到生成动态内容的web服务器上

		使用的是apache的 mod_rewrite 的 RewriteRule 功能。mod_rewrite 有很多强大的功能,如
		1.查看客户端ip地址,仅允许特定的ip访问服务器
		2.通过查询客户端的 User-Agent(用户代理),web服务器可以根据客户端的User-Agent 对客户端返回合适的数据
		3.将 /hoge/foo/bar 修改为 /hoge?foo=bar,再请求web服务器

	2.1.3 优化系统整体的内存使用率
		将动态内容和静态内容分离到不同的服务器。
		1.将 images 目录及css等静态内容的网址交由web服务器
		2.将除此之外的动态内容的网址交由AP服务器

	2.1.4 缓存web服务器的应答数据
		反向代理分离出了AP服务器,为 AP 服务器提供了一个缓冲。特别是使用 HTTP的 Keep-Alive 功能时,反向代理的存在就显得非常重要。
		反向代理服务器开启 Keep-Alive, 而 AP 服务器不开启。

	2.1.5 使用apache模块控制处理规则
		mod_deflate, mod_ssl,mod_dosdetector

	2.1.6 增设反向代理
		prefork 会为每个客户端分配一个进程,worker 为每个客户端分配一个线程。

	2.1.8 使用mod_proxy_balancer向多台主机分流
2.2.2 Squid 缓存服务器
	Squid内部的存储器转为缓存设计,速度非常理想,而且Squid可以以较小的资源消耗处理大规模的请求。
	Squid是以HTTP协议的缓存功能为前提的缓存服务器。可以缓存动态页面,以URL为 key来缓存内容,即每个url对应一个缓冲文件,
  以此缓存数据。但如果动态页面包含有状态的信息,就不能缓存了,这时候可以使用memcache来解决

2.2.3 使用memcached 进行缓存
	Squid 的优点在于可以使用http协议将文件进行缓存。http协议是无状态的可扩展协议,Squid也同样是可扩展的。
	很多情况都不适用于http级别的缓存。在web应用程序的世界中,可以使用缓存服务器,根据应用程序内部是以的数据粒度来管理缓存。
  memcached就是其中一例。
    memcached(根据所装载的客户端库)存在抗障碍性。若某特定的主机运行的memcached宕机,客户端库会感知其问题,从而避免将该服务器
  作为缓存服务器使用。

 

2.1引入反向代理--Apache模块
    

2.2 增设缓存服务器(Squid, memcached)


    

2.2.3 使用 memcached 进行缓存

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值