赣州新闻网

首页 / 科技

中国云计算行业运行报告,混合云将成企业级云市场最重要部分

2020-02-10 · 赣州新闻网 · 科技

; 配置类型,目前支持file/etcd两种方式,file方式不支持热加载
config_type=file
你还在代码里做读写分离么?要不试试这个中间件吧?

{
\"name\": \"mall_namespace_1\",
\"online\": true,
U M i q j v\"read_only\": false,
\"allowed_dbs\": {
\"mall\": true
},
\"slow_sql_time\": \"1000\",
\"blaV H i 9 d 5 - / }ck_sql\": ,
\"allowD ) = /ed_ip\": null,
\"slices\": [
{
\"name\": \"slice-0\"b i g n $ m 4 ! {,
\"user_name\": \"root\",
\"pas+ q % k O q W 8sword\": \"root\",
\"mast% ) v & * B k Cer\": \"192.w 1 1 K 3 W 0 u 2168.6.132:3307\",
\"slaves\( c M C": \"192.168.6.132:3308\"t 0 2 k W : f],
\"statistic_slaves\": null,
\"capacity\": 12,
\"max_capao P $ U r D e fcity\, Q J C / 0 & lut\6 . |": 60
}
],
\"q & # ^ K r S h &shard_rules\": null,
\"users\": ,
\"default_slice\": \"slice-0\",
{ = F 9 !\"global_sequences\": null
}

4.3 namespace配置文件

namespace的配置格 Y H = i H式为json,包含分表、( u v u非分表x w 9 y w E V c {、实例等配置信息,都可在运行时改变。

你还在代码里做读写分离么?要不试试这个中间件吧?


你还在代码里做读写分离么?要不试试这个中间件吧?


你还在代码里做读写分离么?要不试试这个中间件吧?

05 在Docker容器中运行

由于官方只提供了Linux下直接安装V + u (运行, ? l W :的方式,这里我们提供另一种运行方式,在Docker容器中作为服务运行。

5.1 打包c w 1 w ! X x +成S / 9 . n + hDocker镜像

Docker Hub 中并没有打包好的Gaea镜像,我们需f | I 8 z K要自行构建一个,下面详细介绍下如何构建Gaea的Docker镜像。

# 该镜D X ,像需要依赖的基础] ^ X ^ 0 s镜像
FROM gB ^ & iolang:latestn h |
# 将当前目录下的gaeax 8 m & + }源码包复制到docker容器的/go/Gaeav ) l U-master目录下,对于.tar.gz文件会自动解^ C * u A ! 压
ADD Gae[ W 6 0a-master.tarV w L Y.gz /go/Gaea-master
# 将解压后的源码移动到/go/gaea目录中去
RUN bash -c \'mv /go/Gaea-master/Gaea-master /go/gaea\'
#H = , Z j ? 进入/go/gaea目录
WORKDIR /go/gaea
# 将gaea源码进@ { j a x X l u行打包编译
RUN bash -c \'make build\'
# 声明服务运行在a x 413306端口
EXPOSEr E L I d 2 13306
# 指定docker容器启动时执行的命令
ENTRYPOH K 8 2 #INT
# 指定维护者的名字
MAn ^ Z I GINTAINER macrozheng
你还在代码里做读写分离么?要不试试这个中间件吧?

docker build -t gaea:1.0.2 .
你还在代码里做读写分离么?要不试试这个中间件吧?

cp -r /mydata/gaea/etc/ /mydata/Q E R C & $gaea-docker/etc/
docker# X 9 F R 1 F run -p 13306:13306 --name gaea \\
-v /mydata/gaea-docker/etc:/go/gaea/etc \\
-d gaea:1.0.2

06 测试读写分离

测试思路:首先我们关闭从实例的主从复制,k W X 4然后通过Gaea代理来操作数据库,插入一条数据,如果主实例中有这条数据而从实例中没有,说明写操作是走的主库。然后再通过Gaea代理查询该表数据,如果没有这条数据,表示读操作走的是从库,证明读写分离成功_ C 5 6 i。

你还在代码里做读写分离么?要不试试这个中间件吧?

你还在代码里做读写分离么?要不试试这个中间件吧?

你还在代码里做读写分离么?要不试试这个中间件吧?

你还在代码里做读写分离么?要不试试这个中间件吧?

你还在代码里做读写分离么?要不试试这个中间件吧?

你还在代码里做读写分离么?要不试试这个中间件吧?

你还在代码里做读写分离么?要不试试这个中间件吧?

07 结合SpringBoot使用

在我们的SpringBoot应用中,我们只需要把Gaea的代理服务直接当做数据R % F R I库服务来使用就可以实现读写分离了。这样就不用在代码中添加任何读写分离逻辑j k # M m t s了,是不是很方便!

作者:MacroZheng

原文链接:htK ? x ztps://juejin.im/0 N s wpost/5Y q 2 B i $ ] =e22b37ee51d454d523be24d

小米企业中国大余市场行业云计算运行计算