• 本白皮书汇总了经典事务和分布式事务的概念。然后,我们解释了基于云的应用如何受到分布的影响。最后,我们介绍了基于补偿的事务,作为基于微服务的应用事务的可靠方法,即使是在云中。 1、经典事务我们
  • 在本文中,我将在基本的酒店预订系统中使用 Go 实现2PC(两阶段提交),并使用悲观锁定和乐观锁定。在此系统中,我们将重点创建预订流程并将使用 PostgreSQL 数据库。 icon
  • 与其他现代大数据平台一样,Kafka 通过将数据分区到集群中的多个节点来实现无限的水平可扩展性。对于 Kafka,这意味着每个主题都有 1 个或多个分区。 主题拥有的分区越多,并发性就越高,因此潜在的吞吐量就越高。 icon
  • 虽然Kafka是一个功能强大的消息系统,但由于网络问题,我们可能会遇到一些不理想的情况。我们也遇到过由于网络问题导致的事件丢失,在试图避免这些丢失的同时,我们也遇到了由于相同原因导致的不同问题。 在这篇文章中,我解释了我们如何解决在使用kafka作 icon
  • 异步编程在开发反应式和响应式应用程序方面带来了许多优点。然而,它也存在缺点和挑战,其中主要的问题之一是背压问题。 什么是背压?在物理学中定义是:它是与管道中所需的流体流动相反的阻力或力 icon
  • 分布式系统中的一致性模型: 在分布式数据系统的三个属性(一致性、可用性和分区容错性)中选择两个。- Eric Brewer,CAP 定理 分布式系统具有可扩展性和容错性等优点。然而,维持分布 icon
  • 我们将指导您完成将 Spring Kafka 集成到微服务架构中的过程。Spring Kafka 是将 Apache Kafka 的强大功能与 Spring 生态系统的优雅和便利连接起来的桥梁。 在您的项目中设置 Spring Kafka< icon
  • 在我这个项目中,有多个数据库和服务需要无缝通信和交换数据。然而,在这些不同的系统中保持交易的完整性已被证明是一个相当大的障碍。我想确保所有相关操作要么成功,要么失败,避免任何不一致或数据差异。 我正在使用的一些数据库和服务包括(但不限于):- Po icon
  • 变更数据捕获是一个从数据库获取数据的过程,用于复制针对操作数据库执行的操作,以供下游应用程序使用。 CDC可用于将针对源数据库执行的事务移动到目标数据库。实时CDC在此非常有价值,因为它可以实现零停机源数据库复制和迁移。例如,在将为关键应用程序提供服务的内 icon
  • Dapr 是一种可移植、事件驱动的运行时,使任何开发人员都可以轻松构建在云和边缘运行的弹性、无状态和有状态应用程序,并支持多种语言和开发框架。 icon
  • 传统的解决方案是通过像X/Open XA这样的协议使用两阶段提交。 然而,虽然XA被大多数大型关系数据库(如Postgres和MySQL)支持 icon
  • 在现代系统中,纳秒时间戳碰撞的频率有多高?答案是:非常频繁,比如在同时读取所有 4 个物理内核的时钟时,有 5%的样本会发生碰撞。 因此,采用原始纳秒时间戳作为唯一标识符是不安全的。   icon
  • Apache Kafka 提供了基础事务支持,而 Spring for Apache Kafka(又名 Spring Kafka)库则在 Spring 侧扩展了这种支持,使 Spring 开发人员能够更自然地依赖 Spring Framework 中提供的传统事务支持来使用它。 icon
  • Saga通常被定位为处理分布式事务的更好方法。我认为讨论佐贺的优点和缺点没有意义,因为Saga根本不应该在基于微服务的系统中使用:如果你需要跨几个微服务的分布式事务,很可能你错误地定义和分离了领域。 icon
  • 事务为发布到 Kafka 的一组消息提供原子性、一致性、隔离性和持久性 (ACID) 的保证。这意味着要么事务中的所有消息都将成功写入 Kafka,要么不会写入任何消息。在确保数据一致性和避免任何数据丢失方面,这是一个至关重要的功能。 Kafka 事务在数 icon
  • 在微服务通信领域,同步和异步交互是作为微服务之间调用架构的关键要素。Dapr不仅简化了应用程序交互,满足同步和异步模式,而且还支持高级编排(Choreograph)和排舞(Orchestration)模式。 编舞(Choreograph)与排舞(O icon