raft 高可用尝试

来源:这里教程网 时间:2026-03-01 16:21:50 作者:

之前写的一些平台基本都是单实例的,也没考虑集群,扩展性,高可用方面。最近在测试,使用raft,实现高可用,测试了下,感觉使用没有很复杂,后面的一些系统设计开发,需要更多尝试raft。 raft集群中,每个raft实例都有自己的存储,为了维护一致性,涉及到数据变更的操作,要写入log,每个实例进行应用,维护数据一致性。 针对只能是leader节点的操作,需要判断当前节点是否是leader,如果不是,直接返回错误,leader信息。让客户端进行重新请求。这种操作对客户端请求有要求,客户端需要先获取leader信息,然后向leader节点发送请求。 在实际的使用中,本来想agent写数据到后台数据库,server端采用raft,定时统计,raft需要使用自己单独的库,定时任务在leader中执行,如果server端采用的不是raft,是单独的服务,在部署多个节点的时候,需要考虑定时任务的重复执行问题,那么需要用锁控制。

相关推荐