DBProxy概述
DBProxy是支持分库分表,读写分离的中间件,博客内容除了阅读github官方文档外,还会附加上本人个人测试的结果,但了解一个中间件,需要对这个中间件有一个基本的认识,方便控制。
当前的中间件其实很多,有mycat,sharding-jdbc,DRDBS,kingshard等,每个软体都各有其特点,但行业目前推荐的比较多的则为DBProxy.而从美团的研发人员对该组件的态度来看,也更加务实和相对严谨。如有研究此中间件的道友,也可联系我这边切磋交流
1 简介
DBProxy是由美团点评公司技术工程部DBA团队(北京)开发维护的一个基于MySQL协议的数据中间层。它在奇虎360公司开源的Atlas基础上,修改了部分bug,并且添加了很多特性。目前DBProxy在美团点评广泛应用,包括美团支付、酒店旅游、外卖、团购等产品线,公司内部对DBProxy的开发全面转到github上,开源和内部使用保持一致。目前只支持MySQL(Percona)5.5和5.6。
主要功能:
- 读写分离
- 从库负载均衡
- IP过滤
- 分表
- DBA可平滑上下线DB
- 自动摘除宕机的DB
- 监控信息完备
- SQL过滤
- 从库流量配置
2 DBProxy相对于奇虎360公司开源Atlas的改进
- 修改了部分bug并且新增了一些feature,详见release notes
- 提供了丰富的监控信息,大量参数可配置化并且支持动态修改
- 对原有的诸如日志等模块进行了优化,性能提升明显
- 开源版本即为目前美团点评内部使用版本,并将一直对源码及其文档进行维护
3 DBProxy详细说明
- DBProxy快速入门教程
- DBProxy用户使用手册
- DBProxy开发手册
- DBProxy架构和实践
- DBProxy release notes
- DBProxy 测试手册
- FAQ
- DBProxy开发规范