StartUp技术交流会:动态内容的CDN缓存、Memcahce的使用

上周末在博客大巴邀请了上海几家StartUp公司的朋友做了一次技术交流:VeryCD科学家们客齐集联络家CDNUnion安居客Sun的Startup解决方案专家;

主题1:动态内容的CDN缓存
结论,目前CDN缓存仍然以静态内容为主,动态页面缓存过期/更新策略较复杂;而CDN有purge接口,但现在实际应用较少: 更多缓存服务是为内容永不更新的图片、视频等服务;此外,固态盘代替逐步内存的可能性近期还没有,固态硬盘的仍然价格非常高,I/O的速度也是问题;

主题2: Memcahce的使用
所有网站都用了Memcache,并通过避免对数据库的连接而大大提高了性能(命中率在90%以上);

关于:多memcahced的分布策略;
客齐集
规模: 在多台前端应用服务器上划出一定空间,
分布规则:使用的是memcached addserver方式由memcache自己进行缓存分布;
单点失败处理:遇到个别节点中断会retry;
博客大巴和VeryCD应用类似:
规模: 几十G(单个2G);
分布规则:都是自己应用设置设置缓存分布规则,对数据进行分布,
单点失败处理:如果遇到Memcached中断并不尝试其他服务器;

关于memcache的压缩:
PHP客户端可以设置压缩外, server端也有更详细的压缩配置选项(memcached的文档中有?);
关于memcached的扩展性: 最新版本有考虑consistent hash(在扩展服务节点后,旧内容仍然再旧服务器上,不用按重新按新的分布规则生成新缓存)
memcached: bin模式存储;

对于缓存对象:大的List列表页对象用memcache缓存对效率提升很重要;

主题3: 版本控制,文档管理和任务跟踪
大家讨论的主要是, svn的分支合并问题,除了SVN外,也在尝试Hg git等工具; branch管理辅助工具: svn-merge.py, 而svn的使用也分成2套风格: 尽可能的分支(verycd),和尽量避免分支(kijiji/blogbus)

blogbus: 文档使用mediawiki;BugFree项目跟踪;
trunk: 大部分修改
tag: 发布时使用switch tag;
少量branch:

linkist: 文档:混合 trac + svn log
branch:
trunk 用于开发
stagging: 用于测试
tag

安居客: email 文档; BugFree跟踪;
trunk: 开发测试;
main: 发布测试;

verycd:trac:文档+跟踪;
branch 大量的branch 用于开发;
trunk 用于发布

kijiji: 文档:google sites BugFree: 跟踪;
trunk
tag 大量
branch 少量

posted @ 2009-11-05 10:22  Silver.Lee  阅读(663)  评论(0编辑  收藏  举报