=====先吐嘈======
周五我的一篇通过招聘简章的描述分析用人单位用人需求的文章。因为被误当作非法招聘而删除。
心里很不爽。
========下面是正文==========
keepalived来做HA方案已经很成熟了,但基本都是对服务端做HA,比如Ngnix,通过服务端的冗余来消除单点故障。但也有很多场景需要对客户端做HA,比如最近工作就遇到了:
各个省公司要给集团公司发送非常重要的实时告警数据,要求很高的及时性,并且不可重复发送,不可漏发。 同时要接受收集团下发数据。
就这个需求,服务端接收集团数据使用keepaived+ngnix做HA。但客户端却遇到了麻烦:为避免重复发送,同一时刻只能有一个客户端给集团发告警。
如果采用冷互备,同一时刻只启动一台客户机,VIP飘移时拉起Master主机的客户端进程,显得有些笨拙,实时性也很难满足要求。
如果采用热互备,同时保证只有一台客户机工作,客户端就要实现复杂的分布式选举功能。用ZooKeeper的话,又觉得方案有些太重了。
今天想到一个比较巧的方案,基于keepalived的VIP飘移,同时代码也容易理解和实现 。
如上图:
1: 每个客户启动后将获得一个唯一的ID ,如UUID .
2: 每个客户端开启一个监听端口Port。
3: 每个客户端持续的给VIP:Port发送{UUID}消息。接收到{UUID}的客户端,则说明是Master,如果该UUID与自己的UUID相同,开始给集团发送告警。
keepalived用来监视客户端的活跃状态。
相关推荐
Linux下基于keepalived的mysql高可用实现方案(HA)Linux下基于keepalived的mysql高可用实现方案(HA)
keepalived_redis_ha方案
KeepAlived 双节点 HA高可用 主备群集.KeepAlived 双节点 HA高可用 主备群集.KeepAlived 双节点 HA高可用 主备群集。
mysql双引擎,备份用。防止数据库中数据丢失,增加一个备份。
主要介绍freeswitch使用keepalived做主备的逻辑图,实现脚本!附:keepalived安装手册
详细讲解lvs和keepalived原理,详细实战,详细的讲解配置项内容和各种模式的配置方法
linux下基于keepalived的mysql双机热备实现方案,本文档用于实现mysql数据库双机热备灾备方案,在系统部署过程中还需仔细认真,有时候一个小小的配置错误就可能导致部署失败,本人在此套技术验证过程中也踩了不少坑...
LVS + Keepalived 实现HA
基于Keepalived+Haproxy搭建四层负载均衡器
基于keepalived搭建高可靠nginx集群,主备故障切换,keepalived及nginx服务配置
Keepalived + PostgreSQL 流复制方式实现高可用 HA一 项目简介HA 是数据库领域一个永恒的议题,同时也是最复杂的方案之一,PostgreSQL 本身并不提供任何高可用方案, 本文通过 Keepalived + PostgreSQL 流复制方式...
LVS + Keepalived高可用设计方案,介绍了LVS 和keepalived 的原理,以及部署方案。
Nginx+keepalived高可用集群方案
运用nginx的负载均衡功能实现后端web服务器之间的负载均衡,运用keepalived的功能实现nginx服务器的高可用,比较了nginx和lvs的负载均衡的优缺点。
基于keepalived和GTID的半同步主从复制的高可用MySQL集群
文档中详细记录了tomcat基于keepalived的主备部署的每一个步骤,包括配置文件,可以直接使用 主机tomcat挂掉后会自动切换到备机,如果主修复以后,会自动切回主机
数据库\使用keepalived构建高可用mysql-HA
自己疫情期间一个字一个字的敲的,基于keepalived的虚拟化故障转移集群的搭建完整过程,没有任何问题,每一步怎么敲都是有详细步骤的,用的是VIP的虚拟化漂移。
本文档描述keepalived,redis从安装到部署的详细过程,实现keepalived服务器飘移
捣鼓了一个周末,完整的整理出了这个mysql5.7.29双主HA最清晰最详细最易读的部署方案。本人辛苦的原创,照着我这个文档部署,你肯定可以完美部署。