【问题标题】:Implement write lock for a database with zookeeper?使用 Zookeeper 为数据库实现写锁?
【发布时间】:2023-04-07 13:26:01
【问题描述】:

如何使用 Zookeeper 在客户端和数据库之间强制执行单个客户端写入锁定?

(即一次只有一个客户端可以写入数据库)

【问题讨论】:

    标签: distributed-computing apache-zookeeper distributed-transactions


    【解决方案1】:

    如果您使用的是 Python,那么在 Kazoo 中执行此操作是微不足道的:

    从 kazoo.client 导入 KazooClient

    k = KazooClient(myhost) k.start()

    使用 k.Lock(): do_exlusive_write()

    【讨论】:

    • 嘿,谢谢!这些东西的文档很少。你会在 Zookeeper 中存储什么? ACL 的、文件元数据、数据库位置?
    • 请记住每个 znode 的默认最大大小为 1mb。此外,您希望 ZK 中的工作负载以读取为主,因此您不希望存储大量每秒更改数十次的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多