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)
相关推荐
flash俊杰43 分钟前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构
王中阳Go1 小时前
100 件货卖出 116 件,库存停在 -16
后端·mysql·go
2501_933923251 小时前
redis:string类型常见命令
数据库·redis·缓存
爱和冰阔落2 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
byte轻骑兵2 小时前
时序数据库选型指南:Apache IoTDB 社区版实践与踩坑
数据库·人工智能·apache·时序数据库·iotdb
黄连木笛3 小时前
Redis Insight 汉化教程:Windows / macOS / Linux 设置中文界面(附繁體、教程汉化、关闭自动更新)
数据库·redis·缓存
nice_lcj5203 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
古典和浪漫4 小时前
MVCC机制
数据库
xixingzhe24 小时前
mysql全量、增量备份
数据库·mysql
AllData公司负责人12 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql