RedPulsar:基于Redis的分布式锁


为 Jedis 和 Lettuce Redis 客户端提供解决方案。支持Java11+

RedPulsar 为云计算或不同类型的分布式系统提供带有 Redis 和其他实用程序的分布式锁。它是用 Kotlin 编写的简约、轻量级且易于使用的库,目前可与 Jedis 或 Lettuce 客户端一起使用。

特征

  • Mutex:资源上的分布式锁机制,使用大多数数据存储节点的共识来确定检查是否成功。
  • 信号量:分布式信号量实现,允许对资源进行多次锁定。它还利用大多数数据存储节点的共识来确定检查是否成功。
  • SimplifiedMutex:资源上的简化分布式锁机制。与互斥体不同,它使用单个数据存储节点。
  • ListeningCountDownLatch:分布式倒计时锁存器的实现,它使用大多数数据存储实例的共识来确保倒计时一致性。 ListeningCountDownLatch利用Redis Pub/Sub机制来通知等待工作负载计数达到零。

支持数据存储
目前,RedPulsar支持Redis作为数据存储。它可以与 Jedis 或 Lettuce 客户端一起使用。

扩展 RedPulsar 以使用其他数据存储
目前,所有功能均通过Redis实现。但是,可以扩展 RedPulsar 以使用其他分布式数据存储,例如 AWS DynamoDB / Casandra / ScyllaDB 等。甚至可以使用 MySQL 或 PostgreSQL 等 RDBMS 来实现。RedPulsar 项目有一个称为Backend的数据存储抽象级别。有关应实现哪些特定操作的详细信息,请参阅包com.himadieiev.redpulsar.core.locks.abstracts.backends 。新的数据存储应该使用新的模块并实现与当前 Redis 实现相同的抽象。