简介

Gaea是小米商城/系统组研发的基于 mysql 协议的 数据库 中间件,目前在小米商城大陆和海外得到广泛使用,包括订单、社区、活动等多个业务。Gaea支持分库分表、sql路由、读写分离、连接池等基本特性,下面有列出一个大致的功能列表。

项目背景

小米商城之前存在了mycat、cobar、kingshard还有haproxy等几款中间件和tcp代理,配置比较分散,DBA很难管理,具有潜在的隐患。所以,我们在18年下半年立项gaea这个项目,希望能统一以上几个组件,打造自动化的mysql服务平台。同时,为了尽可能小的影响线上业务,我们选择兼容以前的分库、分表路由方案,同时提供了一系列验证 工具 、配置转换工具。

Gaea在设计阶段借鉴了市面上已经开源的mysql中间件项目,包括vitess、kingshard、mycat等,并采用了tidb sqlparser作为sql解析器,在此也对以上项目表示诚挚感谢。

以下是gaea功能和架构的简单介绍,具体信息可以到gaea官方repo查看。

功能列表

基础功能

多租户

SQL透明转发

慢SQL指纹

错误SQL指纹

注解路由

慢日志

读写分离,从库负载均衡

自定义SQL拦截与过滤

连接池

配置热加载

IP/IP段白名单

全局序列号

分库、分表功能

分库: 支持mycat分库方式

分表: 支持kingshard分表方式

聚合函数: 支持max、min、sum、count、group by、order by等

join: 支持分片表和全局表的join、支持多个分片表但是路由规则相同的join

架构图

微信群

最后

本着取之社区、反馈社区的宗旨,我们决定把gaea开源出去,希望在一定的场景下可以解决大家的问题,也欢迎大家关注、参与gaea项目,谢谢。

mysql fa连接池中间件_小米开源数据库中间件gaea相关推荐

  1. 小米开源数据库中间件gaea

    简介 Gaea是小米商城/系统组研发的基于mysql协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单.社区.活动等多个业务.Gaea支持分库分表.sql路由.读写分离.连接池等基本特 ...

  2. golang mysql连接池原理_[Go] golang实现mysql连接池

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

  3. sqlrelay mysql_php+sqlrelay+mysql实现连接池及读写负载均衡

    php+sqlrelay+mysql实现连接池及读写负载均衡 上一篇 / 下一篇  2008-04-02 18:25:19 / 个人分类:MySQL 作者:ziqiu sqlrelay.jpg(20. ...

  4. mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  5. Mycat - 数据库分库分表中间件,国内最活跃的、性能最好的开源数据库中间件

    转载自 Mycat - 数据库分库分表中间件,国内最活跃的.性能最好的开源数据库中间件 Mycat是什么 Mycat - 数据库分库分表中间件,国内最活跃的.性能最好的开源数据库中间件! 一个彻底开源 ...

  6. mysql字段值是什么_什么是数据库字段值

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  7. mysql异地灾备架构_最佳实践 数据库异地灾备

    方案概述 根据企业所在行业.合规要求.数据规模.RPO/RTO要求的不同,数据库灾备目的和要求各不相同,投入成本也是不同的.阿里云数据库灾备解决方案提供实时数据备份能力,满足企业备份多样化选择.通过数 ...

  8. mysql开源中间件_Gaea – 小米开源的MySQL数据库中间件

    Gaea简介 Gaea是小米商城/系统组研发的基于mysql协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单.社区.活动等多个业务.Gaea支持分库分表.sql路由.读写分离等基本特 ...

  9. mysql连接池失效_连接池隔天失效之异常处理

    一.    开发环境     测试平台:Linux     开发工具:Eclipse 3.x     搭配环境:Struts2.x / Ibatis 2.0 / MySql / Tomcat6. ...

最新文章

  1. python练习2 购物车程序
  2. 码农人生——从未学过Android如何开发Android App 案例讲解-第002期案例
  3. TFBOY 养成记 一些比较好多文章。
  4. 人工机器:基于视觉的机械手控制
  5. tensorflow计算网络占用内存_详细图解神经网络梯度下降法(tensorflow计算梯度)...
  6. lnmp下mysql创建新用户授权后登录报错 1045 Access denied for user 'name'@'localhost
  7. 九个编写Dockerfiles的常见错误
  8. 《Frustum PointNets for 3D Object Detection from RGB-D Data》论文及代码学习(二)——代码部分
  9. 调整swiper底部默认小点的样式
  10. pip下载报错:pip._vendor.urllib3.exceptions.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decry
  11. 华为笔记本能装手机App了,华为移动应用引擎(公测版)
  12. 结构动力学中的预应力模态分析 ——预应力模态
  13. CSMA/CD和CSMD/CA
  14. 判断手机屏幕是否旋转
  15. 14年高考结束了,明日边缘看完了,明天周一了 (2014-06-08)
  16. Vue Get请求数据
  17. mor命令_MOR游戏的情况。
  18. R语言 两种方法连接oracle以及将处理后的数据导入数据库中
  19. 一个程序员该有的自我修养
  20. 计算机打字工作内容,计算机基础知识打字入门

热门文章

  1. Photoshop基础知识——第九章(路径、钢笔、矢量形状工具)
  2. visual studio 2019安装路径选择
  3. tcpcopy搭建及测试
  4. 今天,你的手机被窥屏了吗?
  5. 【PHP】md5加密(不可逆)
  6. WPARAM和LPARAM
  7. ESP32学习笔记( VSCode + ESP-IDF环境) 3 ——GPIO相关的简单外设驱动
  8. 欧洲最大IT展会CeBIT开幕 绿色IT是主题
  9. twitter中国官网
  10. superfetch_将SuperFetch更改为仅在Vista中缓存系统启动文件