1. 配置信息
gateway的主要配置都放在zk上,本地需要配的只有myid.properties(zk相关的配置文件)
1.1 myid.properties
参考配置如下:
myid=/gateway/gateway_0000001635
zkURL=10.142.233.67:7031,10.142.233.68:7031,10.142.233.69:7031
namespace=*****/****
digest=root:root
此配置当前可用,如有需要,可以直接登录zk查看数据
属性 | 说明 |
---|---|
myid | 节点路径 |
zkURL | zk集群地址,有多个zk的时候,用逗号分开 |
namespace | 名称空间,路径,zk客户端只能看到这个路径下的节点 |
digest | zk 的digest加密 |
-
gateway 节点的实际路径 = namespace/myid
1.2 zk 节点
1.2.1 结构
gateway 实例有一个对应的zk节点,并在该节点下有一个/config_file/log4j2.xml子节点。
例子:
#gateway节点路径:
/*****/*****/gateway/gateway_0000001635
#配置文件(日志)路径:
/*****/*****/gateway/gateway_0000001635/config_file/log4j2.xml
#结构
/*****
...../***** # 到这里是namespace路径
........../gateway
.............../gateway_0000001635 #这个是gateway节点
..................../config_file
........................./log4j2.xml #这个是配置文件
-
gateway节点保存gateway的主要属性
-
gateway节点的子节点config_file下保存配置文件,gateway只有日志配置文件
1.2.2 gateway节点
gateway 属性,json格式保存 参考例子:
{
"aliveTolerate": 0,
"forbiddenSlaves": [ ],
"setRunName": "6768698003",
"writePort": "8724",
"slaveDelayTolerate": 0,
"setUrl": "/teledb/sets/set@set_6768698003/setrun@set_6768698003",
"workThreads": "20",
"zookeeperHost": "10.*.*.*:7031,10.*.*.*:7031,10.*.*.*:7031",
"name": "gw_test_3_node1",
"slaveDelay": 0,
"mysql": "mysql_0000001627",
"bossThreads": "64",
"maxConnections": "256",
"readPort": "8725"
}
TeleDb相关属性说明:
属性 | 说明 |
---|---|
zookeeperHost | 高可用数据组的zk地址 |
zookeeperDigest | zk的ACL安全认证,格式 = 用户:密码 |
setRunName | Set名称,高可用数据组set路径最后一个节点的数字(如: 6768698003) |
setUrl | 该网关要代理的高可用集群在zk上的路径(如:/teledb/sets/set@set_6768698003/setrun@set_6768698003) |
Gateway的核心属性说明:
属性 | 说明 |
---|---|
writePort | 写端口,连接会自动转发到主库 |
readPort | 读端口,连接会转到从库,但如果没有从库可用的情况,也会转到主库 |
bossThreads | 接收连接线程数,建议值=CPU物理核心数 |
workThreads | 处理线程数,建议值= CPU物理核心数 * 2~CPU物理核心数 * 4 |
maxConnections | 单个物理数据库的最大连接数,值为0即表示无限制 |
Gateway 扩展功能属性说明:
属性 | 说明 | 默认值 |
---|---|---|
statisticPrintPeriod | 刷流量日志的时间间隔。单位秒。可不配 | 300 |
aliveTolerate | 数据库节点alive = - 1后,过多久才去清连接。单位是秒。用于处理网络不稳定导致伪alive=-1的情况。0则立即清连接 | 0 |
slaveDelay | 主从数据库延时阈值。超过阈值的从库会不可用。0则不限制 | 0 |
slaveDelayTolerate | 配合slaveDelay使用。发现从库延时后,等待多久仍没恢复才清连接。0则立即清连接 | 0 |
forbiddenSlaves | 禁止访问的从库名。数组。值是setrun里面的name属性,即ip_port,例如192.168.26.128_3307 | [] |
可选属性说明:用于UDAL管理平台的部署、发布和展示,不影响gateway运行的。
属性 | 说明 |
---|---|
name | gateway实例的名字 |
host | 部署机器相关的zk节点名,与UDAL的Zk相关 |
deployPath | 部署路径 |
1.2.3 log4j2.xml
参考文件log4j2.xml,节点内容就是文件的内容。
2.部署逻辑
-
参考1.2节,写zk节点
-
解压缩gateway的安装包,并根据1.1节,修改{gateway部署路径}/conf/myid.properties
-
执行{gateway部署路径}/bin/startup.sh