Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262832
  • 博文数量: 19
  • 博客积分: 1608
  • 博客等级: 上尉
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-10 10:05
文章分类

全部博文(19)

文章存档

2012年(3)

2011年(6)

2010年(7)

2009年(3)

分类:

2011-01-04 21:49:54

cache软件设计
       haproxy作为一个7层负载均衡软件,在很大程度上可以支撑高可扩展的应用服务架构。但是在目前的高性能服务架构设计中,不可或缺的引入了cache层。这样导致应用服务架构层次越来越多。一般情况下会是如下所示:
L4(四层负载均衡)——>L7(七层负载均衡)——>cache(反向代理)——>server(原始服务器)
      在热点比较集中的情况下,可以考虑把L7和cache合并。处于这样的考虑,我们进行了在haproxy上加上简单cache功能的尝试。目前主要把这层cache定位为轻量的cache
      在对cache的设计中主要考虑如下几点:
1、考虑采用mem cache
      主要是考虑采用全mem cache。该方式适合采用热点比较集中的情况。
2、cache淘汰策略
      最优化的淘汰策略是基于单位大小贡献流量和命中。同时,需要考虑策略的时空开销。目前,主要考虑采用LRU,当然也可以选择其他的cache算法。目前这块算法挺多的。
3、过期策略
      采用简单的固定时间过期策略。如果作为一个全cache的,完全采用http1.1协议的两个过期模型,则会增加复杂度。
4、http协议兼容性
      主要考虑cache的多版本,如压缩、非压缩、vary等。
5、并发访问
6、合适的内存管理
7、哈希算法选择
     在哈希算法选择的时候需要充分考虑业务特性,冲突率。

阅读(5262) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2011-01-05 11:08:16

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com