71 Star 215 Fork 59

flike / kingshard

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
how_to_use_lvs.md 1.77 KB
一键复制 编辑 原始数据 按行查看 历史
Fei Chen 提交于 2016-08-13 17:35 . Update how_to_use_lvs.md

如何使用ks+lvs实现完美集群

1.前言

很多ks的用户会问到ks如何配合LVS做流量切换?ks如何配合keepalived做高可用?ks如何做到不停系统升级?

通过ks提供的状态监测和状态切换命令, 配合一些第三方组件, 可以实现一个完美的mysql中间件集群。

2.配合LVS进行流量切换

lvs部署图

2.1.LVS通过该命令监测ks存活信息

admin server(opt,k,v) values('show','proxy','status')

如果得到的结果是"online", LVS正常分流到该ks;如果得到的结果是"offline"或者"连接错误",LVS认为该real server节点不可用, LVS将不会分流到该ks。

2.2.LVS手动分流过程

admin server(opt,k,v) values('change','proxy','offline')

通过上述命令, LVS在下个侦查周期监测到该real server节点状态为offline, 将不会分流到该ks, 当观察到当前节点没有正在处理的请求之后, 我们可以对ks进行配置变更、代码升级等操作。

3.配合keepalived做高可用架构

keepalived部署图

3.1keepalived检测脚本通过该命令进行real server保活检测

admin server(opt,k,v) values('show','proxy','status')

如果得到的结果是"online", keepalived虚拟IP绑定在主ks实例上,不会漂移;如果检测到状态是"offline"或者"连接错误",keepalived认为主ks实例不可用,虚拟IP漂移到从ks实例上,从而实现高可用。

3.2高可用手动触发流程

admin server(opt,k,v) values('change','proxy','offline')

通过上述命令,将其中一台ks状态置为下线,正常情况下可以看到虚拟IP漂移到另外一台ks主机上,当观察到当前节点没有正在处理的请求之后,我们可以对ks进行配置变更、代码升级等操作。

Go
1
https://gitee.com/flikecn/kingshard.git
git@gitee.com:flikecn/kingshard.git
flikecn
kingshard
kingshard
master

搜索帮助