背景介绍
twemproxy是twitter开源出来的一款用于存储集群的反向代理。常见于Redis集群,加入了twemproxy的Redis集群其请求流程可以简化为:用户->twemproxy->Redis,用户只需要与twemproxy建立连接并发送请求,twemproxy通过配置在自身的路由表及均衡策略,将请求转发至相应后端。
本章主要记录一下实习时做的一个twemproxy批量部署脚本,其目的是节省运维人力,提升新建Redis集群速度。
一些前提
公司内的Redis集群并不是使用的纯开源的,而是基于开源代码自研的,其中就包括Redis中控(类似于开源里的sentinel)。
另外有个用于集群管理的paas平台,在使用该脚本进行部署前,已经通过平台将Redis及twemproxy配置写入了Redis中控。主要的信息包括待部署的机器ip、端口、实例路由表(Redis)
解决方案
|
|
改进思考
由于工作方向和时间上的问题,没有在twemproxy部署优化上再继续做一些更有意义的事。现在想来也有些感触,在一些问题上没有追求极致的做下去,让我感到很多遗憾。当时有了这样一个微不足道的工具,就已经让组里运维同学有了明显的释放感,但还可以做更多。
- paas平台与部署脚本联动,当前还是手动在平台设置,再去手动执行部署脚本。但如果把部署本身置于平台内部,成为paas的功能一部分,对用户透明,不是更加方便。
- 参考成熟的虚拟化paas平台,能够自动实现硬件资源的管理和分配。落实到我们的场景就是,不再需要人工寻找可用的机器和端口,运维同学只需要告诉平台需要的实例数目及部署地域,平台根据一定规则自动找寻可用的硬件资源并自动部署。(事实上这块在实习结束后同事们做的Redis虚拟化工作已经实现了)。