• 近半个世纪以来,ACID事务(满足原子性,一致性,隔离性和持久性的特性)一直是确保数据存储系统一致性的首选。众所周知的原子性属性:在发生故障时,可确保事务写入的全部或全部都不会; 隔离防止同时运行的事务干扰; 和持久性确保在发生故障时不会丢失已提交事务所做的写入。虽然事
  • 分布式系统中的状态复制协调非常困难。在一系列联网过程中如何共享状态数据信息并彼此保持同步?最近,RabbitMQ团队发布了一种新型的队列,该队列使用 icon
  • Google Docs和Trello等云应用程序很受欢迎,因为它们可以实现与同事的实时协作,并且使我们可以轻松地从所有设备访问我们的工作。但是,通过在服务器上集中数据存储,云应用程序还会剥夺用户的所有权和代理权。如果服务关闭,则软件将停止运行,并且使用该软件创建的数据将丢失。在本文中 icon
  • 分布式系统中时间是核心概念,依靠时间多个机器才能协同交互。分布式数据库 微服务交互都逃不过这个硬核。本文概括了物理时钟和逻辑时钟等概念。作为软件工程师,我们都依赖于时间概念:确保我们程序中的事件遵循时间顺序的关键概念。然而,调用“获取当前时间”的简单调用可能会产生意外结果,如果使用不 icon
  • 由于许多新应用程序是作为微服务系统构建的,因此双重写入已成为一个普遍的问题。它们是导致数据不一致的最常见原因之一。更糟的是,许多开发人员甚至都不知道双重写入是什么。 什么是双重写入?双重写入描述了您在两个个 icon
  • volatile字段以确保多个线程始终看到最新值,即使缓存系统或编译器优化正在起作用。从volatile变量读取始终返回此变量的最新写入值。java.uti.concurrent包中的大多数类的方法也具有此属性。通常在内部使用volatile字段。 icon
  • OGG:Oracle GoldenGate是一个产品,它允许我们为数据库中发生的每一项活动(Kafka)生成消息 - 更新,插入,删除 - 我们将全部获取。Debezium是一个类似的产品,可以与MySQL以及许多其他数据存储一起使用。衍生的事件溯源实际上是从Oracle等数据库中获 icon
  • PigPaxos的中心思想是使跟随者服务器节点与领导者服务器节点的通讯脱钩。PigPaxos修改了通信流程,使用基于中继的通信流程代替Paxos中领导者和跟随者之间的直接通信。PigPaxos在每个通信回合中从跟随者群集中随机选择中继,以 icon
  • fency是一个使用SpringBoot和Redis消除RabbitMQ中重复消息的开源项目。即使发送方应用程序仅发送一次消息,接收方应用程序也可能不止一次地接收消息。幂等元一词在数学中用于描述一个函数,如果它应用于自身,则产生相同的结果:f(x)= f(f(x))。在消息处 icon
  • 计算机科学:排序算法,排序算法,更多排序算法...每个程序员:是的,是的,我们知道!Facebook:这是您在31、49、26、29和55分钟前发出的通知。(为什么不按时间排序呢?) 众说纷纭:这是因为分布式系统很困 icon
  • 当你你写了一个bash脚本,但是由于错误而运行一半退出了,当您修复了系统中的错误并再次运行这个脚本。但是脚本中的一半步骤会立即失败,因为它们已经作用于您的系统了。要构建弹性系统,您需要编写幂等的软件。(幂等在分布式环境同样重要,这样才能保证重试等正确实现) icon
  • 断路器中的回退是通过一些预先配置的响应来替换发生的故障,从而使故障的范围受到限制并且对最终用户隐藏。然而,在现实生活中,简单的回退往往过于简单,我建议采用更强大的方法来处理故障,补偿发生的故障。 什么是断路器? icon
  • ScheduledThreadPoolExecutor 容易出现无限的时钟漂移最近,我意识到 icon
  • 将数据存储在实时数据流中一直是一个挑战。解决方案取决于您的用例具体情况。如果要存储数据以进行每日或每月分析,则可以使用分布式文件系统并在其上运行Hive或 icon
  • 无冲突复制数据类型(CRDT)是可用于支持分布式系统中高可用性和可伸缩状态共享的数据结构。CRDT状态被复制到系统中的每个节点。每个节点都可以读取和更新CRDT,而无需与其他节点进行任何协调。如果两个或多个节点同时修改CRDT,则修改可以合并在一起,并且CRDT保证最终所有节点将就该CRDT icon
  • Jangda等人由于在“无服务器计算的形式基础”方面的工作而在今年获得了OOPSLA的杰出论文奖。本文的中心是他们观察到无服务器执行环境具有许多独特的属性(例如执行环境的热启动/重用),这会使构建正确的应用程序变得更加困难。它们显示了无服务器功能可以安全地忽略这些特性的条件,因此变得更容易推 icon
  • 在Nordstrom,我们一直在探索一种特定类型的近实时数据流,称为事件溯源/事件采购,通过结合开源项目和过去四年运维生产的功能。在此过程中,我们学到了很多东西,并希望分享我们所看到的一些机会。 什么是事件溯源,我为什么要关心?</ icon