目前有一个服务器程序在接收客户端上传的数据,客户端通过服务器的外网IP和端口连接,为了提高可用性,想用两个服务器各跑同样的服务器程序,一主一从。当主服务器的程序崩溃后,短时间内无法恢复时,客户端自动连接到备用服务器程序并上传数据,当主服务器的程序恢复后,再连接回主服务器程序。
根据网上的了解,redis方案和nginx+keepalived方案能实现,请问这两者有什么区别?哪种比较合适?
目前有一个服务器程序在接收客户端上传的数据,客户端通过服务器的外网IP和端口连接,为了提高可用性,想用两个服务器各跑同样的服务器程序,一主一从。当主服务器的程序崩溃后,短时间内无法恢复时,客户端自动连接到备用服务器程序并上传数据,当主服务器的程序恢复后,再连接回主服务器程序。
根据网上的了解,redis方案和nginx+keepalived方案能实现,请问这两者有什么区别?哪种比较合适?
keepalived+nginx主要是通过检测服务健康状态再利用虚IP漂移实现高可用
redis基本上是利用自身的哨兵机制监测主节点运行状态实现的高科用,redis也可以和keepalived组合使用,但是感觉没什么必要
redis哨兵机制的稳定集群至少需要三个节点,两个节点也不是不行,可能会出现主观下线的情况,还是不够稳定。
综合你的需求一主一从的话建议使用keepalived+nginx方案,够用