Gaea(小米MySQL Proxy)整体架构

四大核心组件

  1. gaea-proxy(流量核心,无状态)
    业务应用直连,兼容MySQL协议;内部链路:协议解析 → 会话管理 → SQL解析(TiDB Parser)→ 路由调度 → SQL执行 → 结果聚合;内置连接池、分片路由、读写分离;无状态,可以多实例横向扩容,解决单点故障
  2. gaea-cc(中控)
    配置管理、任务调度,从etcd读写配置,向proxy下发配置、热更新
  3. gaea-web(管理控制台)
    DBA可视化操作入口,操作gaea-cc,管理namespace、分片、账号
  4. gaea-agent(DB侧代理)
    部署在MySQL宿主机,负责MySQL实例创建、启停、回收、状态采集

存储:etcd(配置中心)

所有namespace、slice、分片规则等配置持久化在etcd;proxy和cc监听etcd变更,实现配置热加载,etcd集群本身保证配置高可用

后端资源模型

  • namespace:业务租户
  • slice:一组MySQL(一主多从),读写分离单元
  • shard:分库分表路由规则(兼容MyCat / Kingshard两种路由)

文字版拓扑

plaintext 复制代码
应用客户端 → [LVS/负载均衡] → 多实例 gaea-proxy(无状态)
                                      ↓    监听
          gaea-web → gaea-cc ←→ etcd集群
                                      ↓
                          slice(MySQL一主多从)
                          (每个slice部署gaea-agent)
相关推荐
程序员清风1 小时前
LibreChat 实战:用 Docker 搭建可扩展的多模型对话平台
运维·docker·容器
jaysee-sjc1 小时前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
志栋智能1 小时前
安全超自动化如何提升防御体系可靠性?
运维·安全·自动化
叼烟扛炮1 小时前
Linux 学习笔记(三十二):线程控制——创建、等待与分离
linux·运维·服务器·笔记·学习·1024程序员节
牧瀬クリスだ1 小时前
Redis五大数据类型全解析:从入门到实战
java·数据库·redis·后端·缓存
瑞克-桑切斯1 小时前
PostgreSQL 14.4 源码部署 & 运维手册(CentOS7)
数据库·学习·postgresql
上海红同电子1 小时前
红同电子线束工厂100问|绝缘护套采购,材质PVC、TPE、PP该如何选型?
数据库·经验分享·职场和发展·产品运营·制造·材质
xbzb1 小时前
服务器形态怎么选、BIOS 怎么进?从 1U 机架到固件启动项一次讲透
运维·服务器·bios·启动·固件·启动项
夜雪一千1 小时前
Linux 权限、用户、用户组内容介绍
linux·运维·服务器