LVS & MySQL NDB Cluster
浏览:4053次 出处信息
章文嵩博士(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个并发的问题 (阅读:5429)
- 记一次LVS/Nginx环境下的访问控制 (阅读:3835)
- LVS & MySQL NDB Cluster (阅读:3718)
- 利用MySQL Cluster 7.0 + LVS 搭建高可用环境 (阅读:3381)
- 怎么样让 LVS 和 realserver 工作在同一台机器上 (阅读:3152)
- 在LVS上实现SNAT网关 (阅读:1299)
- 一些LVS实验配置、工具和方案 (阅读:1166)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:DBA@Taobao 来源: DBA@Taobao
- 标签: LVS NDB
- 发布时间:2010-01-04 13:12:05
建议继续学习
近3天十大热文
- [53] IOS安全–浅谈关于IOS加固的几种方法
- [52] 如何拿下简短的域名
- [51] android 开发入门
- [51] 图书馆的世界纪录
- [50] Oracle MTS模式下 进程地址与会话信
- [49] Go Reflect 性能
- [46] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑