• 分布式系统中时间是核心概念,依靠时间多个机器才能协同交互。分布式数据库 微服务交互都逃不过这个硬核。本文概括了物理时钟和逻辑时钟等概念。作为软件工程师,我们都依赖于时间概念:确保我们程序中的事件遵循时间顺序的关键概念。然而,调用“获取当前时间”的简单调用可能会产生意外结果,如果使用不
  • TLA +是一种正式的规范语言。它是设计系统和算法的工具,然后以编程方式验证这些系统没有严重错误。它是相当于蓝图的软件。通常用于设计分布式事务系统,亚马逊等公司普遍使用该语言规范设计他们的分布式事务中间件基础设施。是分布式架构设计语言。 icon
  • Spring为Kafka带来了熟悉的Spring编程模型。它提供了KafkaTemplate用于发布记录和用于异步执行POJO侦听器的侦听器容器。Spring Boot自动配置连接了大部分基础架构,因此您可以专注于业务逻辑。 错误恢 icon
  • 前文讨论了数据库的多领导者复制,现在看看无领导者复制: 无领导者复制亚马逊的Dyn icon
  • 如果你能感觉到空气中有难闻的气味,你可以说某些东西已经烂了。同样的规则适用于如果发现需要跨越多个实体的事务才能完成业务操作。您可以将这些实体称为聚合,您可以将它们称为Foo或Bar,但如果事务范围很广,则会遇到麻烦。(banq注:跨多个服务的宽的事务有时是一个伪命题,比如JTA或2PC许诺给 icon
  • Plaid的API可帮助开发人员为北美数以千万计的消费者提供金融服务。这些服务帮助消费者管理他们的个人财务,让他们转移资金和付款,并允许他们获得贷款和抵押贷款。我们的使命是通过提供对金融系统的访问来改善人们的生活。我们不仅通过帮助消费者访问其财务数据,而且通过 icon
  • 国内很多上报国家区块链名单的公司不少使用了IBM的Hyperledger,其实Hyperledger不是真正的区块链。下面是在金融行业建立交易系统和交换主干方面拥有15年的经验的Stuart Popejoy的文章:早在2016年,企业“私有区块链”就是一个新的,不熟悉的想法。私人许可 icon
  • 在过去的几年里,我一直在使用像Elixir和Clojure这样的函数式语言,即使我确信DDD可以应用于函数式语言,但这个领域并没有足够的资源介绍。嗯,也就是很少的相关讨论和博文,但大多数人又试图将DDD模式从OO直接映射到FP。 战 icon
  • 我们在今年2月跨越了YugaByte DB三年开发阶段,到目前为止,这是一段惊心动魄的旅程,但并非没有公平的技术挑战。有时我们不得不回到绘图板 icon
  • 尝试应用严格的有序处理将对我们的系统施加人为限制。这是因为保证消息排序在技术上非常困难,即使成功,也总是需要权衡诸如较低的消息吞吐量和较低的可扩展性,这会妨碍系统成功的能力。比如比萨店交付披萨时,不一定要根据订单前后顺序准备披萨,而是根据比萨的制作顺序,有些披萨需要烧烤时间长一些,有 icon
  • 我最近一直在研究一个新项目,它需要在并发访问之间保持数据强一致性。为了更好地理解这个问题,可以考虑以下应用场景: 如何始终保持您的银行帐户余额正确 如何正确处理货架上的产品数量 如何正确处理视频或文章的喜欢或观看次数 你应该想知道管理这些问题的复杂性 icon
  • 分布式事务的关键是实现强一致性,但是CAP定理认为获得强一致性必然放弃可用性,这是传统关系数据库和2PC的问题所在,最终一致性可以兼顾一致性和可用性,强最终一致性则更好,因此分布式事务的发展方向走向强最终一致性的一致性模型,强最终一致的模型实现有几种,比如Paxos和Raft,但是这些只适合 icon
  • Noria:  https://pdos.csail.mit.edu/papers/noria:osdi18.pdf Ma icon
  • icon
  • 多年来,“可串行化/序列化”(serializability)被称为数据库隔离级别的“  icon
  • 随着时间的推移变得越来越复杂和越来越苛刻。Google的Spann icon
  • 最近在EmbedIT工作中,我需要评估Oracle AQ是否是一个替代旧的异步任务管理系统的不错选择。所以,让我分享一下我的经验。首先,有关Oracle AQ的文档非常庞大,因此我将 icon