1
vopsoft 144 天前
最好 那当然是买两台 F5 了
|
2
njmaojing 144 天前
redis 官方有主从或者集群模式,为啥要 vip ?
|
3
0608516518 144 天前 1
如果特指 VIP ,它底层协议就是 VRRP ,无论是 F5 ,还是硬件路由器、防火墙,都用 VRRP ,所以本质功能没有区别。
linux 下实现 VRRP 的软件就是 keepalived 了。 但对于 Mysql 和 redis ,它双机热备恐怕并不*只*用 VIP 实现的吧?因为这两个服务都是有状态的。 比如两个 mysql 实例,你还得考虑数据同步和一致性的问题。如果想实现高可用,推荐你使用 mysql 的另外的发行版 Percona XtraDB Cluster. 而 Redis 也要部署为 replica 模式。 |
4
govictory66 144 天前
目前在用的是 mysql+keepalived ,redis 哨兵
|
5
defunct9 144 天前
ucarp,keepalived 太复杂
|
6
defunct9 144 天前
更复杂的是 peacemaker+corosync
|
7
vopsoft 144 天前
看来这里问道的答案会更杂。 那还是用常有的吧 mysql 用 mha (新版自带 vip ) redis 用集群
|
8
anubu 144 天前
整个系统的高可用分多个层面,复杂度主要集中在业务数据层面,各种有状态集群、选主算法、同步算法等等,花活太多了。网络层面就简单多了,一个 VIP 大部分场景都够了,keepalived 简单好用,久经考验。
|
9
cheneydog 144 天前
keepalived + docker 方案,部署应该还是比较容易的,基本能用了。
更高的需求就要更严肃的方案了。 |
10
cencoroll OP @njmaojing #2
@0608516518 #3 @vopsoft #7 @anubu #8 可能是我问题描述不够详细,情况是这样的,最近公司整了个活,客户的服务器是双机热备(两台刀片服务器 ip 分别是 xx.xx.xx.2, xx.xx.xx.3 ),部署在客户的内网里,要求就是其中一台一旦出问题了,另一台能平滑切换使用,mysql 用的是 5.7 redis 用的 6.2 。 现在已经配置好了 mysql 双主了,然后 redis 我看了一天网上的教程都是在单机 docker 里使用从库和使用哨兵,那这个 redis 的 vip 到底怎么做到切换呢....mysql 我看 keepalived 可以解决这个问题,那 redis 使用哨兵的话如果集中向外服务提供 vip ?还是用 keepalived 吗? |
13
WashFreshFresh 144 天前
直接连哨兵,不连 master 或 slave ,由哨兵告诉我目前的 master 。
|
14
vopsoft 143 天前
看起来似乎有问题,mysql 双主有人在生产环境用吗?双主如果发生数据不一直以哪个为准呢
“要求就是其中一台一旦出问题了,另一台能平滑切换使用” 那坏的那台恢复了 还需要自动恢复吧 我们的生产环境 mysql 用的 mha 一主多从 也只能切换一次(即发生故障后自动切换,但需要手工恢复) 还有另一套 sql server 用的两台 sql+一套存储的方式 |
15
cencoroll OP 不知道是配置有问题还是啥原因,试着手动关闭 redis-master 后无法自主切换,还是尝试重连 master ,试了 10 几次只有一次能切换。我是两边的服务器都需要配置 2 个哨兵吗?不知道是选举出问题还是什么原因。
@vopsoft #14 说实话我自己是想搞集群的,问题是客户就只买了两台服务器。要搞双机热备,MHA 我也研究一下,谢谢 |
16
vopsoft 143 天前
redis 不是问题 研究一 jredis 那库怎么连集群就好 只买两台的话 keepalived +脚本 的方式能实现 但不怎么靠谱
|
17
vopsoft 143 天前
顺便踩下 mycat 那东西就个垃圾 只作者在自嗨吹
|
20
Vitumoc 143 天前
如果只是切 IP 的话,其实挺简单的,刚好前几天项目需要,随手写了个垃圾工具
https://github.com/vitsumoc/vwinvrrp/tree/main https://vitsumoc.github.io/%E7%AE%80%E5%8D%95%E5%AE%9E%E7%8E%B0windows%E4%B8%8B%E7%9A%84%E5%BA%94%E7%94%A8%E7%83%AD%E5%A4%87.html 虽然写的很粗糙,但是能用,在客户那测试也通过了。 可以考虑一下? |
21
Vitumoc 143 天前
顺带一提,我的项目情况和你很类似
我这边的 mysql 没有做任何的自动同步,因为项目客户没有 DBA ,我们也不可能给他们做无限期的维护,所以给他们做了个手动同步功能,明确要求客户更改配置数据(我们配置数据存在 mysql )后需要手动同步。 而时序数据之类的,则是采集器同时发到两台服务器,这样服务器正常时两边都有数据,故障时则没有数据,这个客户也是认可的。 所以我这边就简单做了个切 IP 的程序,让客户通过 VIP 访问业务就可以了。 |