中间件kingshard入门(一):基本安装

项目将应用kingshard做分库分表中间件

这里将进行简单的部署和配置,在配置之前,需要先了解一定的拓扑情况

类目 属性 备注
kingshard 10.11.10.214
master 10.11.10.215 主库
slave 10.11.10.216 读库

主从的配置在这里不再累述,具体安装过程可以查看

http://blog.csdn.net/qq_35339990/article/details/78646347

对于kingshard的功能,在git中可以看到明确的功能说明,目前使用的企业较少,但公司这边由于有go的架构师,即使踩坑,我们依然可以通过修改源码进行维护,但是mycat之类的中间件,研发这边未必有很多的时间去修改源代码。不同的企业应该根据自己的自身的情况进行配置部署, 不一定非得采用kingshard或者mycat之类的。
中间件kingshard入门(一):基本安装_第1张图片
具体的源码地址为

https://github.com/flike/kingshard/blob/master/README_ZH.md

  • 安装
    由于kingshard使用的是go语言开发。故此需要在kingshard这台机器中安装对应的go支持的编译软件(go版本为1.6以上)
[root@gzsd-ks01-101110214 ~]# yum -y install go git
[root@gzsd-ks01-101110214 ~]# mkdir /data/download
[root@gzsd-ks01-101110214 ~]# cd /data/download/
[root@gzsd-ks01-101110214 download]# git clone https://github.com/flike/kingshard.git src/github.com/flike/kingshard
[root@gzsd-ks01-101110214 download]# cd src/github.com/flike/kingshard/
[root@gzsd-ks01-101110214 kingshard]# source ./dev.sh 
[root@gzsd-ks01-101110214 kingshard]# make

到这里,编译完成,对配置文件进行修改

[root@gzsd-ks01-101110214 kingshard]# cp etc/ks.yaml etc/ks.yaml.bak
[root@gzsd-ks01-101110214 kingshard]# vi etc/ks.yaml
addr : 0.0.0.0:9696

user :  kingshard
password : kingshard
web_addr : 0.0.0.0:9797
web_user : admin
web_password : admin
log_level : debug
log_sql : on
#slow_log_time : 1000
log_path : /var/log/ks.log

#allow_ips: 127.0.0.1
proxy_charset: utf8mb4

nodes :
-
    name : node1

    max_conns_limit : 16

    user :  gz_ks_account
    password : lUkO^oXg]45n

    master : 10.11.10.215:3306

    slave : 10.11.10.216:3306
    down_after_noalive : 300

schema :
    nodes: [node1]
    default: node1
    shard:
    -
        db : wms_output
        table: wmp_sale_order
        key: id
        nodes: [node1]
        type: hash
        locations: [128]

测试使用screen来执行启动脚本

[root@gzsd-ks01-101110214 kingshard]# yum -y install screen
[root@gzsd-ks01-101110214 kingshard]# screen -R ks
[root@gzsd-ks01-101110214 kingshard]# ./bin/kingshard --config=etc/ks.yaml

对日志进行查看

[root@gzsd-ks01-101110214 ~]# tailf /var/log/ks.log/sys.log 

2017/11/28 14:02:12 - INFO - main.go:[128] - [main] "main" "Got signal" "signal=interrupt" conn_id=0
2017/11/28 14:02:21 - INFO - server.go:[281] - [server] "NewServer" "Server running" "netProto=tcp|address=0.0.0.0:9696" conn_id=0
2017/11/28 14:02:21 - INFO - server.go:[49] - [web] "NewApiServer" "Api Server running" "netProto=http|address=0.0.0.0:9797" conn_id=0

ks的中间件基本部署完毕。

你可能感兴趣的:(MySQL中间件)