• 在本教程中,我们将了解Java中事务的含义。因此,我们将了解如何执行资源本地事务和全局事务。这也将使我们能够探索在Java和Spring中管理事务的不同方法。 什么是事务?通常,Java中的事务是指
  • 讨论Kafka中最重要的配置,从而能防止Kafka中的数据丢失。 生产者消息确认机制这是生产者级别的超重要配置。根据文档,消息确认acks属性是:生产者客户端要求kafka集群中选举的领导者在确认请 icon
  • 传统单体架构下的分布式事务概念并不适合微服务,面临的挑战很多(挑战问题点击标题见原文),想在微服务中进行分布式事务处理?需要改变思路和视角:组合,如果您认为您应该合并几个微服务或将事务集成到一个服务中,那么进行此练习永远不会晚。(banq注:根据DDD有界上下和聚合的概念将需 icon
  • 在分布式环境中,故障是很常见的情况,可以随时发生。在Kafka环境中,消息代理可能会崩溃,网络故障,处理故障,发布消息时失败或无法使用消息等。这些不同的情况导致了不同类型的数据丢失和重复。 失败场景 icon
  • 计划于2020年开源的DBLog的早期研究,其目标使异构数据存储保持同步。变更数据捕获(CDC)允许从数据库中实时捕获已提交的变更,并将这些变更传播给下游使用者,CDC在需要保持多个异构数据存储同步(例如MySQL和ElasticSearch之间数据同步)并解决传统技术(如双重写入和 icon
  • Apache Ignite是一个水平可扩展的,容错的分布式内存计算平台,用于构建实时应用程序,该应用程序可以以内存速度处理数TB的数据。它是一个分布式系统。Apache Ignite形成一个集群,可以两种模式运行:分区和复制。 分区意味着数据通过key分布在节点上,例 icon
  • 由于许多新应用程序是作为微服务系统构建的,因此双重写入已成为一个普遍的问题。它们是导致数据不一致的最常见原因之一。更糟的是,许多开发人员甚至都不知道双重写入是什么。 什么是双重写入?双重写入描述了您在两个个 icon
  • Revolut需要记录每个与金钱有关的事件,它们都很重要的;这是一个水晶球,我们必须小心接住并处理。此类事件包括汇款,更改用户数据,任何卡操作等。与处理财务操作相关的所有事情都需要100%的一致性,金钱是非常敏感的事情。同时,我们每天必须跟上成千上万新用户的步伐。指数级放大还影响功能交付。我 icon
  • 尽管微服务中的“微”一词表示服务的规模,但它并不是使用微服务的唯一标准。当团队转向基于微服务的架构时,他们旨在提高敏捷性以及自主且频繁地部署功能。很难确定这种架构风格的简单定义。我喜欢 icon
  • 分布式系统给程序带来了特殊的挑战。它们通常要求我们拥有多个数据副本,这些副本需要保持同步。但是我们不能依靠处理节点可靠地工作,并且网络延迟很容易导致不一致。尽管如此,许多组织仍依赖一系列核心分布式软件来处理数据存储,消息传递,系统管理和计算功能。这些系统面临共同的问题,可以通过类似的解决方案 icon
  • 在外部系统之一不可用的情况下进行事件重新处理是我们业务流程的重要组成部分。希望有这样一个重试机制:如果任何外部系统暂时不可用,该应用程序可以让我们重新处理消息。 卡夫卡之前在项目的早期,我们使用IBM MQ icon
  • PigPaxos的中心思想是使跟随者服务器节点与领导者服务器节点的通讯脱钩。PigPaxos修改了通信流程,使用基于中继的通信流程代替Paxos中领导者和跟随者之间的直接通信。PigPaxos在每个通信回合中从跟随者群集中随机选择中继,以 icon
  • 几周前,我结束了一场技术辩论,讨论如何进一步利用现有的事件溯源应用程序,以充分利用其旨在为您带来的好处。我已经写了许多帖子是关于陷阱、最佳实践以及如何在.NET中具体实现这一点。但是我仍然认为为您提供一些最重要的指导方针和启发式方法列表可能是有用的,我认为这些列表和启发式方法对于成功使用事件 icon
  • 多年来,Facebook已从一种基本的Web服务器体系结构演变为一个复杂的体系结构,其中包含成千上万的服务在后台运行。扩展Facebook产品所需的各种后端服务并不是一件容易的事。而且发现我们的许多团队正在构建具有重叠功能的自定义分片解决方案。为了解决此问题,我们将Shard Manager icon
  • Kafka Connect是一个框架,可帮助Kafka连接外部系统,例如数据库,文件系统等,反之亦然。我们处理两种类型的连接器:源连接器:这种类型的连接器有助于将数据从外部系统简化为Kafka Topic。接收器连接器:这种类型的连接器有助于将数据从 icon
  • 微服务架构倾向于在整个组织中分配数据责任。这对确保删除数据提出了挑战。常见的解决方案是为每个数据集或每个记录保留设置组织范围的标准。但是,始终会有跨越多个数据集和记录的数据。这些数据通常分布在您的微服务体系结构中,需要系统和团队之间的协调才能将其删除。一种解决方案是将数据删除不视为事 icon
  • Apache Ignite是一个水平可扩展,容错的分布式内存计算平台,用于构建可以以内存速度处理TB级数据的实时应用程序。Ignite可以充当分布式内存数据库或内存数据网格,具体取决于您是喜欢使用SQL还是键值API。如果启用了持久性,则Ignite会成为一个分布式的,水平可伸缩的数据库,该 icon