LVS & MySQL NDB Cluster
浏览:3673次 出处信息
章文嵩博士(LVS开源项目创始人)进入淘宝好几个月了,今天是他第一次讲解LVS的实现原理。作为DBA的一员,终于近距离膜拜了大牛。
讲解的内容就不具体介绍了,在LVS官方网站上面可以找到。PPT的内容和网站上基本上一样,只是讲解人是章博士本人。我在这整理一下自己的理解,不对请大家指正。 ^_^
组成LVS最重要的部分有三个:请求分发服务器、处理服务器、共享存储。
典型的Web集群并不需要共享存储,只有请求分发服务器和处理服务器,如下图所示:
如果完成请求需要基于数据,那么共享存储就是LVS必须的组件了。LVS邮件服务器集群如下所示:
目前能应用于LVS的MySQL集群只能是NDB Cluster,因为MySQL众多的存储引擎中,只有NDB Cluster实现了共享存储的功能。
在NDB Cluster中,SQL Node相当于处理服务器,Data Node相当于共享存储。LVS可以让应用程序的开发更加简单,开发人员并不需要知道执行SQL的数据库服务器到底是哪一个,但是可以获得自己想要的数据。而NDB Cluster提供的数据拆分和扩容功能,保证了数据库的可扩展性。
美中不足的是,NDB Cluster的性能实在太差。即使LVS负载均衡做得很好很强大,NDB Cluster也会成为瓶颈。
根据我的观察发现,LVS的架构非常适用于CPU-bound的应用场景。虽然共享存储的引入使得LVS能够支持有状态的连接,但是LVS并不适用于IO-bound的应用。因为不管负载如何均衡,最终瓶颈在于共享存储之上。而共享存储如何拓展,LVS并不关心。也许只有NDB Cluster提升了IO性能之后,LVS才能真正在MySQL方面应用起来。
非常感谢章博士的分享,NDB Cluster终于让我觉得不那么鸡肋了。
建议继续学习:
- LVS hash size解决4096个并发的问题 (阅读:5371)
- LVS & MySQL NDB Cluster (阅读:4030)
- 记一次LVS/Nginx环境下的访问控制 (阅读:3683)
- 利用MySQL Cluster 7.0 + LVS 搭建高可用环境 (阅读:3237)
- MySQL Cluster 与 MongoDB 复制及分片设计及原理 (阅读:3144)
- 怎么样让 LVS 和 realserver 工作在同一台机器上 (阅读:3127)
- MySQL Cluster致命缺点 (阅读:2896)
- MySQL Cluster Manager 工作原理、安装及使用 (阅读:2866)
- MySQL Cluster集群探索与实践 (阅读:2664)
- Two-phase commit(2PC) 与MySQL Cluster (阅读:2571)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:分布式之后的变化
后一篇:豆瓣的Url结构方式一览 >>
文章信息
- 作者:DBA@Taobao 来源: DBA@Taobao
- 标签: Cluster LVS
- 发布时间:2010-02-09 08:57:01
建议继续学习
近3天十大热文
- [11] 产品设计之QQ邮箱登录页与淘宝登录页
- [10] 逃出你的肖申克(五):看不见的牢笼(上)
- [9] 分布式系统的事务处理
- [9] 五个实用的Google Analytics过
- [9] Python连接 MySQL 数据库的超时问
- [8] 读书:谣言
- [8] 招聘的绑架
- [8] 移动Web开发初学者指南
- [8] 关于不得不在python中使用代理访问网络的
- [8] 浅述各平台系统交互设计的不同关注点