• 在微服务设计过程中,经常出现的一个共同点和要求是共享共同数据。而这个问题在微服务之间的异步消息驱动通信(使用Kafka)中变得更加有趣了 例如,微服务1有一些数据。微服务2和3想要访问这些数据。 我看到了
  • 当为微服务使用异步通信时,通常使用消息代理。代理确保不同微服务之间的通信可靠和稳定,消息在系统内得到管理和监控,并且消息不会丢失。您可以选择一些消息代理,它们的规模和数据功能各不相同。 这篇博文将比较三种最流行的代理:RabbitMQ、Kafka
  • 了解事件总线 Event Bus 和消息队列 Message Queue 之间的差异可以帮助架构师和开发人员根据他们的特定需求决定使用哪种模式。在本文中,我们将探讨 Event Bus 和 Message Queue 之间的区别,并根据各种场景提供有关使用哪种模式的见解。 icon
  • Apache Pulsar、Apache Flink SQL as a Service、Apache Pinot等流Stream架构技术预测: Apache Pulsar2023年,Pulsar的新版本将提 icon
  • 我们最近从我们的系统中删除了 RabbitMQ,并将其替换为构建在我们的 Postgres 数据库之上并用 SQL 编写的队列。它极大地提高了我们系统的可靠性和弹性。这是对这一变化、其背后的基本原理以及我们是如何做到的的记录。 注意:这不是 icon
  • SEDA,或阶段化事件驱动架构,是Matt Welsh在他的博士论文中提出的一种架构风格 icon
  • 检测重复消息的唯一方法是在生产者端为事件生成一个唯一标识符。只有使用这些标识符,消费者才可能知道它第二次处理同一条消息,而不是具有相同属性的不同消息。 为了防止两次处理同一条消息,常用的方法是将它们存储在指定的表中,通常命名为processed_m icon
  • 虚拟目的地允许我们创建映射到一个或多个物理目的地的逻辑目的地。 虚拟目的地是逻辑目的地,是映射到一个或多个物理目的地的队列或主题的组合。它提供松散耦合的消息传递配置,当应用程序在多个实例上运行时尤其有用。 在本文中,我们将借助一个简单的 Spring Boot 应用程序了解虚拟目的地如何在 icon
  • 本文将教您如何使用 Spring Boot 和 Spring for Kafka 为 Kafka 消费者配置并发。Spring for Kafka 的并发与Kafka 分区和消费者组密切相关。消费者组中的每个消费者都可以从多个分区接收消息。组内的消费者使用单个线程,而消费者组使用多个线程来消 icon
  • Facebook在队列中使用了自适应LIFO的概念: - 它们在正常情况下使用FIFO顺序 - 他们在高负荷下改用后进先出顺序 理由呢?通过在高负载下保持FIFO顺序,用户可能已经放弃了他们的请求。 icon
  • RabbitMQ: 基于Erlang构建 支持多种协议,包括AMQP、MQTT和STOMP。 以开发人员友好而闻名。 非常适合多个消费者的复杂路由。 Kafka: 基于Scala和Java icon
  • 有趣的项目、工具和库:1、 icon
  • 让我们首先看看API,它似乎是最主要的选择: APIAPI定义了允许两个应用程序相互通信的契约。这种契约的形式是服务器承诺提供的协议和样式,而客户应该遵守。 AP icon
  • SpringBoot应用程序的事务绑定#发件箱模式 实现,专门基于Kafka、AMQP和JMS的代理。 应用程序模块之间交换的一些事件可能对外部系统感兴趣。Spring Modulith 允许将选定的事件发布到各种消息代理。要使用该支持,您需要执行 icon
  • 用例:下订单。成功下订单后(付款成功并且向餐厅成功下订单后),订单服务会发布一个事件:食品配送合作伙伴服务,用于安排送货人员到达餐厅、挑选食物并将订单配送到用户的地址将积分记入用户帐户的忠诚度服务通知服务通过电子邮件/短信/移动推送 icon
  • 美联储周四宣布,其新的即时支付系统 FedNow 服务现已上线。各种规模的银行和信用社都可以注册并使用这一工具,在一年中的任何一天的任何时间为客户即时转账。 首先,35 家早期采用的银行和信用社以及美国财政部财政服务局已准备好通过 FedNow 服 icon
  • 近年来,人们对领域驱动设计 (DDD) 的兴趣激增,正如DDD Europe等热门活动和Learning Domain-Driven Design等书籍所表明的那样。虽然对复杂业务领域进行建模对于成功的系统始终发挥着重要作用,但需要明确领域边界的模块化运行时架构(例如微服务应用程序)为 DD icon
  • Kafka的队列Queues 是目前讨论的最热门的新功能! 传统的队列系统是这样一种系统: - 多个消费者从同一队列读取(pub-sub) - 一个特定的消费者从一个特定的生产者读取(点对点) 消息通常被存储,直到它们被消 icon