Gaea
Gaea copied to clipboard
Gaea is a mysql proxy, it's developed by xiaomi b2c-dev team.
1. 通过在namespace中添加可配置选项:max_sql_execute_time(最大sql执行时间限制)用来实现gaea慢SQL自动熔断功能。 - 实现方式:通过context.WithTimeout超时取消机制,主线程监听到取消信号后进行err返回,避免客户端等待超时。 - 使用方式:在namespace中,配置max_sql_execute_time值为超时时间,单位为毫秒。 该值配置小于等于0,则表示不开启慢SQL熔断。对于超过该超时时间的查询返回:“out of max sql execute time ” err. 2. 通过在namespace中添加可配置选项:max_select_result_set,用来避免gaea由于过大的结果集导致的OOM异常。 - 实现方式:通过对结果集的行数进行限制,超出该限制,则利用context的cancel函数对执行分片SQL的协程发送取消信号。 - 使用方式:在namespace中,配置max_select_result_set,该值代表单个分片SQL返回的结果集最大行数。对与超出该限制的结果集查询,返回:“out of max select result set limit” err.
DESCRIBE `table` 这种语法不支持,执行后返回 SHOW COLUMNS IN `table`
这里有个小问题。我这里有用gaea替换掉在用的mycat的打算。体验过程中遇到点小问题。我这里下载 的是release v1.0.3.5月21号的版本。参考mycat schema.xml配置了gaea的分表规则。目前遇到两个小问题。1、namespace用户 连接 gaea后如果不加-A 会报ERROR 2006(HY000): MySQL server has gone away错误。(这个目前不影响select数据,可以使用) 2、我自己写了一个etc/file/namespace/*.json文件 加了一 个分表规则,我通过gaea建表的时候报err: create select plan error: stmt type does not support shard now。。。。json的分表规则我是这样写的。第二个问题导致我现在分表的情况下建不了表,不知道问题出在哪里。我咨询了一下社区的大神说是gaea目前不支持分表建表吗? { "name": "namespace_cas",...
`go build -o /data/Gaea/bin/gaea -pkgdir=/pkg/linux_amd64 -ldflags "-extldflags -static -X /core.buildVersion=5fad791d48d4529fc4055437e8a6c7f057d07d9d-dirty -X /core.buildGitRevision=5fad791d48d4529fc4055437e8a6c7f057d07d9d-dirty -X /core.buildUser=root -X /core.buildHost=xxgk-qt-bf -X /core.buildStatus=Modified -X /core.buildTime=2020-03-04--04:44:07" /cmd/gaea go: go.etcd.io/[email protected]: unrecognized import path "go.etcd.io/bbolt" (https fetch: Get...
sysbench命令为 ``` sysbench /usr/local/Cellar/sysbench/1.0.16/share/sysbench/oltp_read_only.lua \ --mysql-host=10.2.0.107 \ --mysql-port=3306 \ --mysql-user=root \ --mysql-password=123456 \ --threads=10 \ --time=120 \ --report-interval=10 \ run ``` 报错为 ``` [2019-06-04 15:23:37] [gaea_proxy] [localhost] [WARN] [900000001] [github.com/XiaoMi/Gaea/proxy/server.(*Session).Run.func1:session.go:215]...