一致性哈希服务器的数据维护

本文是实例说明一致性哈希服务器的数据维护用途。理论说明参考:http://blog.csdn.net/chenjiayi_yun/article/details/41624603 

如下图所示,本例中一致性哈希服务器群组是视频服务器群组,包括服务器类型:VChannelMediaServer、VChannelServer、VChannelLoadServer、VChannelSuperServer。

服务器类型和其用途:

VChannelMediaServer频道动态数据(成员数据)和接入服务器,保存频道成员信息,提供接入地址到客户端(类似于网关),发送到VChannelServer的请求是根据频道id的一致性哈希决定。

VChannelServer频道数据服务器,保存频道的具体信息,提供操作频道对象的接口,每个频道对象以一致性哈希形式存在于该服务器中。

VChannelLoadServer是频道负载服务器,备份所有的频道列表以及频道对应的VChannelServer,维护VChannelMediaServer和VChannelServer服务器内的服务器一致性哈希表,维护VChannelServer中的频道对象加载和移除。(VChannelLoadServer是单服务器,VChannelServer和VChannelMediaServer是动态启动的多服务器。)

VChannelSuperServer直播间上级服务器,为所有直播间相关的服务器提供向上的连接其他服务器的接口。


数据维护包括:动态启动vchannelserver服务器需要动态加载频道数据和移除旧的服务器的频道数据,动态关闭vchannelserver服务器需要恢复该服务器的频道到其他服务器,新数据需要加载和备份。(VChannelLoadServer根据频道列表记录每个VChannelServer对应的一些频道)

(1)加载数据

一个VChannelServer启动时,需要VChannelLoadServer同步服务器哈希一致性列表,计算列表是本服务器的那些频道,则从数据库加载那些频道的数据到本进程。VChannelLoadServer根据哈希表,计算出属于新启动VChannelServer的一些频道,发送指令到其他VChannelServer使它们移除本进程中属于那些频道的数据。

(2)宕机恢复数据

一个vchannelserver宕机时,需要重新加载频道数据到其他服务器;VChannelLoadServer会定时检查vchannelserver连接中的宕机服务器的连接,根据服务器哈希表为原来宕机服务器的每个频道都分配新的服务器(会加入等待分配列表,在有合适服务器时再分配)

(3)新数据

创建频道时,在指定的一个VChannelServer会加载该频道的数据,并备份该频道id到VChannelLoadServer,更新其服务器哈希一致性列表,更新VChannelServer负载。

操作如下图:




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在主从服务器架构中,为了保证数据一致性和完整性,可以采取以下措施: 1. 主从复制机制:使用数据库的主从复制功能,将主服务器上的数据同步到从服务器上。主服务器负责接收和处理写操作,从服务器则复制主服务器数据。通过主从复制,可以确保从服务器上的数据与主服务器保持一致。 2. 事务和写操作同步:在进行写操作时,确保所有相关的操作都在一个事务中进行,并在主服务器上提交事务后再同步到从服务器。这样可以确保事务的一致性,避免数据不完整或错误。 3. 同步延迟监控:监控主从服务器之间的同步延迟情况,及时发现延迟过高的情况,并采取相应措施,如增加带宽、优化网络配置等,以确保数据同步的及时性。 4. 主从切换机制:当主服务器发生故障或需要维护时,需要进行主从切换。在切换时,需要确保从服务器上的数据与主服务器保持一致,并将从服务器切换为新的主服务器。这可以通过选举机制、监控脚本等来实现。 5. 数据一致性校验:定期对主从服务器上的数据进行一致性校验,比对数据的哈值或其他指纹信息,确保数据的完整性。 6. 合理的备份策略:采用定期备份数据的策略,确保在发生灾难性事件时能够快速恢复数据。备份数据应存储在安全可靠的地方,并定期测试和验证备份的可用性。 7. 数据库级别的约束和验证:在数据库中设置合适的约束条件,如唯一性约束、外键约束等,以确保数据的完整性和一致性。 综上所述,通过主从复制、事务同步、监控机制、切换策略、数据校验和备份等措施,可以有效保证主从服务器数据一致性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值