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