当前位置: 首页 > 面试题库 >

什么是缓存驱动程序中的分布式原子锁?

牟飞沉
2023-03-14
问题内容

我只想知道高速缓存驱动程序中分布式原子锁定的含义是什么?


问题答案:

分布式锁在多个来源中都有详细记录。

原子属性是指 不可分割的测试 ,它应该是锁定请求的一部分。否则,两个竞争者可能会同时进行测试,然后以他们在资源上具有排他性为出发点而离开并离开。

由于这是必须的,因此您通常会简单地将其称为 分布式锁

现在,一些来源:

  • Antirez(Redis的创建者)批评说,必须在实现客户端的同时对分布式锁的挑战进行良好的分析。他称其解决方案为Redlock。使用Redis的分布式锁
  • 然后, 设计数据密集型应用程序的 作者Martin Kleppmann 批评Redlock,并在“ 如何进行分布式锁定”中提出了他的解决方案
  • 然后安德烈兹回答说:《雷德洛克安全吗?

阅读这三篇文章将使您对如何实现分布式锁有深刻的了解。



 类似资料:
  • Web 应用程序可能需要为成百上千甚至更多的用户同时提供服务。如果你没有采取必要的措施,在这种负载下,你的网站可能会崩溃或变得没有响应。 假设在主页显示最后 10 条新闻,并且平均每分钟有上千名用户访问此页面。你可能为每个用户通过查询数据库来显示页面视图信息: SELECT TOP 10 Title, NewsDate, Subject, Body FROM News ORDER BY NewsD

  • 因此,我通过JDBC连接到GridGain集群,并且我只在由SQL语句创建的缓存上通过JDBC连接使用INSERT/UPDATE/DELETE语句。我的缓存是事务性的 我的JDBC用法是这样的。在这里,我禁用自动提交并运行一些语句,然后手动提交。 我对集群中的两个数据节点执行了一些测试,没有发现问题。因此,根据定义,JDBC连接必须使用悲观锁,就像键值API一样。我的假设正确吗?我的JDBC使用是

  • 问题内容: 我正在寻找Java分布式缓存解决方案。我们希望功能喜欢: 我们已经分析了Terracotta这样的框架,它似乎是缓存框架中我们想要的一切……但是,似乎需要一个中央缓存节点,这成为我们的单点故障。 除了推出我们自己的解决方案之外,还有其他想法吗? 问题答案: 我建议使用JBossCache或EhCache(使用分布式缓存侦听器)。我都用过,我都喜欢,它们都适合您的要求。

  • 我正在使用ehcache(2.10.1)和terracotta(开源4.3.1)实现分布式缓存。我在单台机器上尝试了两个JVM实例和一个terracotta服务器,代码按预期工作,没有错误。 现在,我尝试运行相同的terracotta服务器,但在虚拟机上使用客户端。在虚拟机上运行客户端时,会收到以下消息和错误: 使用的 tc-config.xml 文件: 使用的 ehcache.xml 文件: 在

  • 问题内容: 在接手一个同事的项目后,我注意到他使用“ org.gjt.mm.mysql.Driver”作为MySQL 5的jdbc驱动程序,而不是更常见的“ com.mysql.jdbc.Driver”。它们都包含在我在Maven Central上找到的驱动程序中,该驱动程序似乎是该驱动程序的标准发行版。 当我查找gjt.org时,我发现了一些有关“ Mark的mysql驱动程序”的旧站点。 ht

  • [命名空间: Serenity.Caching, 程序集: Serenity.Caching.Couchbase] Redis 是另一种内存数据库,由于其优秀的性能和可靠性, StackOverflow 也在使用它,他们所有的 WEB 服务只用了一个 Redis 数据库。 你可以从 Serenity.Caching.Redis 的 NuGet 程序包获取该服务类型的 Serenity 实现。 它可