基于Raft算法,用于容错分布式系统的异步复制框架

网友投稿 928 2022-11-03 14:56:07

基于Raft算法,用于容错分布式系统的异步复制框架

raftos

Asynchronous replication framework based on Raft Algorithm for fault-tolerant distributed systems.

Install

pip install raftos

Register nodes on every server

import raftosloop.create_task( raftos.register( # node running on this machine '127.0.0.1:8000', # other servers cluster=[ '127.0.0.1:8001', '127.0.0.1:8002' ] ))loop.run_forever()

Data replication

counter = raftos.Replicated(name='counter')data = raftos.ReplicatedDict(name='data')# value on a leader gets replicated to all followersawait counter.set(42)await data.update({ 'id': 337, 'data': { 'amount': 20000, 'created_at': '7/11/16 18:45' }})

In case you only need consensus algorithm with leader election

await raftos.wait_until_leader(current_node)

or

if raftos.get_leader() == current_node: # make request or respond to a client

or

raftos.configure({ 'on_leader': start, 'on_follower': stop})

Whenever the leader falls, someone takes its place.

Paper & Video

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:教你通过B+Tree平衡多叉树理解InnoDB引擎的聚集和非聚集索引
下一篇:CastleCSS是一个移动优先的SCSS框架拥有模块化的构建块
相关文章