Trafficserver Cluster模式
2012-06-27 12:57
239 查看
http://blog.chinaunix.net/uid-10249062-id-3243299.html
1 概述
为了解决大流量、大存储的访问特性,Cache
Cluster架构方案通常引入四层负载机制(LVS或硬件设备)解决大流量的问题,引入七层负载机制(Haproxy等)解决大存储的问题。而这样的Cache
Cluster架构方案一次request需要经过七层负载机制和Cache
Server两次的解析。以选择Haproxy为例,其request解析的CPU开销占到用户态的10%以上(不包括其它七层的匹配处理)。因此,避免request的重复解析,能够减少CPU的开销。
另外,业界只有TrafficServer能够提供融合七层负载和Cache
Server的单独解决方案,而其它的方案只能用两个软件来分别来实现七层负载和Cache Server。而TrafficServer正式实现完整方案的关键技术。
2 原理
TrafficServer的Cluster模式原理如下图所示:
Trafficserve在Cluster模式下,远端client访问Cache
Cluster在服务时存在四种处理策略:
本地CacheServer Hit状态
client的request经过一致性哈希计算出对应的服务Server为本地(即如图中的Cache
Server 1)。此时req如果在Cache
Server1中Hit,则直接回复resp。数据流程为:
1:req->8:resp
本地CacheServer Miss状态
client的request经过一致性哈希计算出对应的服务Server为本地(即如图中的Cache
Server 1)。此时req如果在Cache
Server1中Miss,则回Orig
Server。数据流程为:
1:req->5:req->6:resp->8:resp
远端CacheServer Hit状态
client的request经过一致性哈希计算出对应的服务Server为远端(即如图中的Cache
Server 2)。此时req如果在Cache
Server 2中Hit,则回复数据至Cache
Server 1,再由Cache Server 1把数据回复给client。数据流程为:
1:req->2:req->3:resp->8:resp
远端Cacheserver Miss状态
client的request经过一致性哈希计算出对应的服务Server为远端(即如图中的Cache
Server 2)。此时req如果在Cache
Server 2中Miss,则回复Miss信息至Cache
Server 1,再由Cache Server 1回源,再把回源的resp一边回复至client,一边回复至Cache
Server 2,由Cache Server 2存入本地。数据流程为:
1:req->2:req->3:Miss->5:req->6:resp->8:resp(7:resp)
备注:
TrafficServer之间交互的request和response都为序列化后的解析结果数据,因此可以减少重复解析。
1 概述
为了解决大流量、大存储的访问特性,Cache
Cluster架构方案通常引入四层负载机制(LVS或硬件设备)解决大流量的问题,引入七层负载机制(Haproxy等)解决大存储的问题。而这样的Cache
Cluster架构方案一次request需要经过七层负载机制和Cache
Server两次的解析。以选择Haproxy为例,其request解析的CPU开销占到用户态的10%以上(不包括其它七层的匹配处理)。因此,避免request的重复解析,能够减少CPU的开销。
另外,业界只有TrafficServer能够提供融合七层负载和Cache
Server的单独解决方案,而其它的方案只能用两个软件来分别来实现七层负载和Cache Server。而TrafficServer正式实现完整方案的关键技术。
2 原理
TrafficServer的Cluster模式原理如下图所示:
Trafficserve在Cluster模式下,远端client访问Cache
Cluster在服务时存在四种处理策略:
本地CacheServer Hit状态
client的request经过一致性哈希计算出对应的服务Server为本地(即如图中的Cache
Server 1)。此时req如果在Cache
Server1中Hit,则直接回复resp。数据流程为:
1:req->8:resp
本地CacheServer Miss状态
client的request经过一致性哈希计算出对应的服务Server为本地(即如图中的Cache
Server 1)。此时req如果在Cache
Server1中Miss,则回Orig
Server。数据流程为:
1:req->5:req->6:resp->8:resp
远端CacheServer Hit状态
client的request经过一致性哈希计算出对应的服务Server为远端(即如图中的Cache
Server 2)。此时req如果在Cache
Server 2中Hit,则回复数据至Cache
Server 1,再由Cache Server 1把数据回复给client。数据流程为:
1:req->2:req->3:resp->8:resp
远端Cacheserver Miss状态
client的request经过一致性哈希计算出对应的服务Server为远端(即如图中的Cache
Server 2)。此时req如果在Cache
Server 2中Miss,则回复Miss信息至Cache
Server 1,再由Cache Server 1回源,再把回源的resp一边回复至client,一边回复至Cache
Server 2,由Cache Server 2存入本地。数据流程为:
1:req->2:req->3:Miss->5:req->6:resp->8:resp(7:resp)
备注:
TrafficServer之间交互的request和response都为序列化后的解析结果数据,因此可以减少重复解析。
相关文章推荐
- Trafficserver Cluster模式
- Trafficserver Cluster模式
- traffic server配置cluster的疑问
- Apache traffic server cluster的搭建
- Apache Traffic Server配置cluster服务
- 六、vault - 开发模式 "Dev" Server Mode
- org.mongodb.driver.cluster : Exception in monitor thread while connecting to server localhost:27017
- Spark运行模式(local standalond,yarn-client,yarn-cluster,mesos-client,mesos-cluster)
- jdk(32bit)的高级安装---client模式与server模式
- spserver剖析之HS/HA模式
- IdentityServer4:IdentityServer4+API+Client+User实践OAuth2.0密码模式(2)
- troubleshooting 解决yarn-cluster模式的JVM栈内存溢出问题
- (XMPP)如何使用agsxmpp类库登陆已经设置成cluster模式的XMPP服务器中的其中一台机器?
- Spark运行模式:cluster与client
- apache traffic server架构
- sqlserver提示“在流水模式下,事务无法启动”的解决办法 .
- traffic server 5.1.1 源码学习 traffic_cop
- HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
- 大数据_Storm_cluster模式下storm kill topology时做cleanup的解决方法