一例千万级pv高性能高并发网站架构[原创] 不指定

刘天斯 , 2011/12/18 12:25 , Architecture , 评论(19) , 阅读(94716) , Via 本站原创 | |

      受CU管理员的邀请参考“千万级pv高性能高并发网站架构与设计交流探讨帖”主题的交流,发表了一案例与大家分享。

      一个支撑千万级PV的网站是非常考验一个架构是否成熟、健壮(本文不涉及软件架构的层面,有兴趣也可以讨论)。现抛出一个系统层面的架构,不保证是最优的方案,但也许适合你。理由是再优秀的架构都不具备通用性,需要根据每种应用特点针对性来设计。希望起到抛砖引玉的作用,大家多多参与,发表意见。


(点击放大)

架构说明:
1)架构中直接引入软件名称的模块,是个人推荐使用的,如Haproxy、Hadoop等;
2)关于全局负载均衡,看成本投入情况,可以使用商业的产品,如F5-GTM,开源方案便是自搭智能DNS;
3)本地负载均衡方案,可以考虑F5-LTM或成熟的开源解决方案LVS;
4)代理层为什么推荐大家使用Haproxy?Haproxy是一个非常优秀的反向代理软件,十分高效、稳定。国内top 10的互联网公司都有在使用;
5)缓存层可以使用Squid或Varnish,个人更倾向Varnish。配置灵活、运行稳定,提供非常便利的管理接口。为啥在缓存层前面加一层代理?优点非常多,列举如下:
  • 根据应用配置URI路由规则,集中热点来提高后端缓存的命中率;
  • 轻松划分网站频道、版块,更好对应用进步组织、规划;
  • 对URI进行一般性安全过滤,抵御注入攻击;
  • 弹性调配硬件资源,应对突发事件产生大流量;
  • 可回收宝贵的公网IP资源;

6)应用层开源技术方案非常多且成熟,在此不详细描述;
7)数据库层主流开源解决方案Mysql是首选,主从复制(一主对多从)是目前比较靠谱的模式;
8)关于Nosql,应用场景不多说,可参考“给部门做的Mongodb技术交流PPT”文章,redis、memcached等作为热点数据存储、数据库缓存都非常理想;
9)内网DNS扮演的角色非常重要,一定要消灭code中出现的内网IP地址,很大程度减少因IP变更、服务器故障而修改源码的情况,同时也便于维护;
10)内网LB适用在内部WEB接口、多台数据库Slave、多台Nosql Slave、公共服务等应用的负载均衡,可以使用LVS、Haproxy来实现,可用性要求不高的应用可行直接使用Localhost DNS轮询;
11)hadoop适合海量数据的存储与处理,如做网站日志分析、用户数据挖掘等;
12)管理集群,平台的核心,运维的阵地;
      以上粗略介绍了架构的几个组成部分,如大家有对哪块有疑问或感兴趣都可以展开来讨论,也可以通过weibo与我交流:http://t.qq.com/yorkoliu
lue Email
2015/05/05 14:59
你好。请问下  全局负载均衡 与 本地负载均衡 之间 两个的区别是什么。
张戈博客 Email Homepage
2014/08/05 17:12
@lwt 图中缓存应该指的是动态数据的缓存层,比如redis或memcache这一类,减少数据库的查询操作等作用。CDN只是一些静态资源的分布式缓存,比如图片,JS/CSS等。
root 回复于 2014/08/06 15:56
正解
hellsp Email
2014/01/06 15:41
请问xmind用的什么模板? 能共享一份吗? 多谢~~
刘天斯 回复于 2014/01/12 09:27
非模板,手绘+素材。
百度优化 Email Homepage
2013/09/12 17:42
好深奥,分享了
lwt Email
2013/07/18 11:11
我看了这个架构 你的负载均衡具体是怎么实现的 是用LVS+haproxy(多台)吗?可是我没看见有LVS ?难道直接用DNS调度? 你有了CDN还有必要加个缓存层吗?
南京到云南旅游 Email Homepage
2013/05/11 16:09
不错。。性能非常强悍~
娃娃 Homepage
2012/04/11 15:56
真高手,我有100万PV就够了。1000万的事现在不敢想。
WAWA Email Homepage
2012/04/01 21:48
厉害。。。。
WXD Email
2012/03/28 15:13
如果把本地负载均衡LVS去掉,而只使用HAProxy+keepalived,会不会有问题啊?
再加一个LVS有什么好处啊?
盼回复
刘天斯 回复于 2012/03/28 16:17
(HAProxy+keepalived)在多组服务的情况下也需要做负载均衡,如果只有一组刚可以去掉LVS.
SK Homepage
2012/03/23 16:51
前端用LVS调度更好些。
Pricer Email
2012/02/29 10:54
谢谢分享!不知道可否详细的介绍一下!
小杰 Homepage
2012/02/24 15:40
同问,这个图是用什么工具画的呢?
刘天斯 回复于 2012/02/27 22:00
Xmind
SK Homepage
2012/02/05 00:17
老刘这个很霸道哦
云飞 Email Homepage
2012/01/10 03:09
众多开源技术的集合,牛呀,顶一个!
okyep Email
2012/01/06 10:02
望天斯兄根据此图出书,就将此图的各个模块安装使用技巧即维护,别的无须讲,估计也有几百页了,我一定购买!
AnthonyYau Email Homepage
2011/12/31 10:12
谢谢分享经验......
aiwowo
2011/12/27 15:24
天斯,请问你这个图是用什么工具画的?
天津演出服租赁 Email Homepage
2011/12/26 11:54
第二个支持的了
青岛网站建设 Email Homepage
2011/12/26 11:53
依然的支持了,呵呵
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]