HAproxy配置
关于haproxy配置 这块不做多介绍,运维基本手到擒来,我们要一个vip就可以了
sphinx的问题
sphinx本身只支持分布式,分布式就会有单点的问题,当请求量过高时开始出现问题。分布式没法横向扩容,没法高可用。所以考虑要做一个负载均衡,那么问题来了,sphinx多台机器没法向mysql那样利用binlog日志同步数据,做负载的话服务器之间数据同步是一个问题,比如A服务器2点轮换索引时,B服务器3点轮换 这中间访问数据就会有差异。就算同时轮换索引建立数据的时间差也会有索引,而且同时轮换索引对mysql压力巨大。
解决方案
- A服务器轮换索引时,先停止B服务器的服务
- A服务器索引轮换成功,rsync data文件至B服务器
- B服务器启动服务(sphinx启动服务会重新缓存索引)
这样的好处是B服务器不需要重新再去查询数据源建立索引,而且能保证A B服务器的数据同步。