美团点评数据库中间件 DBProxy

本文档详细介绍了DBProxy的概述、主要特性和发展历程,涵盖了安装部署、兼容SQL语法、配置及限制,以及如何进行DBProxy的管理,包括启动、用户、连接、分表、backend和日志管理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://github.com/Meituan-Dianping/DBProxy/blob/master/doc/USER_GUIDE.md#1.2.2

https://github.com/Meituan-Dianping/DBProxy/blob/master/doc/QUICK_START.md

1 总体信息
        1.1 关于本手册
        1.2 DBProxy概述
            1.2.1 DBProxy简介
            1.2.2 DBProxy主要特性
            1.2.3 DBProxy发展历程
        1.3 文档中的符号含义说明
        1.4 约定
        1.5 各发布版本信息
2 安装与部署
3 使用教程
        3.1 启动
            3.1.1 脚本启动
            3.1.2 非脚本启动
        3.2 DBProxy兼容的SQL语法
            3.2.1 SQL语句支持限制
                3.2.1.1 不支持的语句
                3.2.1.2 for update限制
                3.2.1.3 update/delete操作限制
                3.2.1.4 load data限制
                3.2.1.5 set option限制
            3.2.2 后台DB连接池带来的限制
                3.2.2.1 session级系统变量限制
                3.2.2.2 获取上下文语句的限制
                3.2.2.3 temporary表限制
                3.2.2.4 cur/prepare功能限制
                3.2.2.5 客户端驱动有关的限制
                3.2.2.6 连接属性设置
            3.2.3 DBProxy配置方面的限制
            3.2.4 分表的限制
        3.3 DBProxy管理
            3.3.1 基本操作管理
                3.3.1.1 启动用户设置
                3.3.1.2 平滑关闭
                3.3.1.3 服务端口的设置
                3.3.1.4 版本查看
                3.3.1.5 DBProxy运行方式设置
                3.3.1.6 DBProxy监控进程配置
                3.3.1.7 工作线程数量设置
                3.3.1.8 实例名称设置
                3.3.1.9 查看启动命令行支持的命令
                3.3.1.10 查看admin端口支持的命令
                3.3.1.11 参数保存
            3.3.2 用户管理
                3.3.2.1 admin 用户
                3.3.2.2 proxy用户
                3.3.2.3 monitor用户
            3.3.3 连接管理
                3.3.3.1 查看当前连接
                3.3.3.2 结束连接
                3.3.3.3 连接相关的参数
            3.3.4 分表管理
                3.3.4.1 分表的配置
                3.3.4.2 分表限制
            3.3.5 backend管理
                3.3.5.1 backend的配置
                3.3.5.2 backend过载保护
                3.3.5.3 backend版本配置
            3.3.6 日志管理
            3.3.7 流量管理
                3.3.7.1 SQL 过滤
                3.3.7.2 从库流量配置
                3.3.7.3 主库流量配置
            3.3.8 统计信息管理
                3.3.8.1 响应时间统计
                3.3.8.2 percentile
            3.3.9 监控管理
                3.3.9.1 参数查看
                3.3.9.2 状态查看
                3.3.9.3 最近查询语句的查看
                3.3.9.4 查询相应时间查看
                3.3.9.5 事件等待状态查看

奇虎360公司开源的Atlas是优秀的数据库中间件美团点评DBA团队针对公司内部需求,在其上做了很多改进工作,形成了新的高可靠、高可用企业级数据库中间件DBProxy,已在公司内部生产环境广泛使用,较为成熟、稳定。 DBProxy的优点 支持多语言MySQL客户端 读写分离 负载均衡 Slave故障感知与摘除(Master需要MHA等其他联动) 后端连接池 自定义SQL拦截与过滤 流量分组与控制 丰富的监控状态 支持分表(分库版本正在内测中) Client IP限制 DBProxy对Atlas的改进 新增功能点 新增参数 backend-max-thread-running用于指定每个MySQL后台的最大thread running数 thread-running-sleep-delay用于指定在thread running数超过backend-max-thread-running时,客户端连接等待的时间 添加到黑名单中需要满足两个条件:SQL执行的时间和频率 提供了查看、修改、添加、删除黑名单的功能 黑名单管理提供了将黑名单保存到文件以及从文件中Load到内存中的功能 在手动添加黑名单时,只需要将用户的SQL语句输入,在内部自动转化成过滤条件,手动添加时是否生效由参数 manual-filter-flag 来控制,OFF:不生效,ON:立即生效 手动添加与自动添加两种情况下的过滤条件是否生效是分别由不同参数控制,这个要区分清楚。另外,也可以使用 admin 的命令来设置是否开启/关闭某个过滤条件 SQL执行的时间 由参数 query-filter-time-threshold 来指定,如果SQL执行时间超过此值,则满足条件 SQL执行频率 由参数 query-filter-frequent-threshold 来指定,如果SQL执行频率超过此值,则满足条件 频率就是在时间窗口内执行的次数。时间窗口则是由频率阈值和最小执行次数来计算出来的,当时间窗口小于60s时,扩展到60s 参数 access-num-per-time-window 用来指定在时间窗口内的最小执行次数,添加此参数是考虑到执行时间长的SQL在计算频率时同时参考其执行的次数,只有执行一定次数时才去计算其频率。当执行时间与执行频率都满足时条件时,会自动将查询作为过滤项放到黑名单中,加入到黑名单中是否生效由参数 auto-filter-flag 来控制,OFF:不生效,ON:立即生效 黑名单的管理 从库流量配置 指定查询发送到某个从库 参数动态设置(完善show proxy status/variables) 支持save config,动态增加、删除分表 响应时间percentile统计 统计最近时间段DBProxy的响应时间 kill session 支持DBProxy的admin接口kill session操作 backend平滑上下线 支持平滑的backend上下线 DBProxy非root用户启动 使用非root用户启动 admin账号的安全限制 admin账号密码的动态修改及host限制 增加异步刷日志的功能 增加日志线程、异步刷日志,提高响应时间 支持DBProxy平滑重启功能 支持SQL过滤的黑名单功能 支持对于MySQL后台的thread running限制功能 该功能通过在DBProxy内限制每个后台MySQL的并发查询,来控制对应MySQL的thread running数 当发向某个MySQL后台的的并发查询超过某个阈值时,会进行超时等待,直到有可用的连接,其中阈值与超时等待的时间都已经参数化,可以动态配置 set backend offline不再显示节点状态 支持set transaction isolation level 支持use db 支持set option语句 支持set session级系统变量 支持建立连接时指定连接属性 改进连接池的连接管理,增加超时释放机制。当连接池中的空闲连接闲置超过一定时
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值