#消息队列
选择Apache Pulsar而不是Kafka的理由 - Kafkaesque

在Kafkaesque,我们的使命是使开发人员能够使用与云无关的高性能消息传递技术,使其易于所有人使用,从而使他们能够构建云原生的分布式应用程序。开发人员希望编写分布式应用程序或微服务,但不希望管理... 详细
RabbitMQ新的持久的、可复制的分布式事务一致的仲裁队列 – Richard Seroter

分布式系统中的状态复制协调非常困难。在一系列联网过程中如何共享状态数据信息并彼此保持同步?最近, RabbitMQ 团队发布了一种新型的队列,该队列使用 Raft Consensus算法 在集群中提... 详细
2PC时代即将结束,2PC只是提供原子性提交而不是事务本身 · Exactly Once

如果有分布式事务协议,那么每个软件工程师都知道它:“两阶段提交”,也称为2PC。尽管使用了几十年,但是由于缺乏云环境的支持,它却一直在稳步下降。 过去在相当长的一段时间里,它是构建企业分布式系统的实... 详细
批处理最佳实践 - Vlad Mihalcea

大多数应用程序至少具有一个批处理任务,在后台执行特定的逻辑。编写批处理作业并不复杂,但是您需要了解一些基本规则,这里将列举一些我发现最重要的规则。 从输入类型的角度来看,处理项目可以通过轮询数据库来... 详细
uber/cadence:Cadence是一种分布式,可扩展,持久且高度可用的流程编排引擎

定位类似zeebe、activiti之类工作流引擎,高级别的区别在于zeebe是基于BPMN的,Cadence支持使用Java或Go等普通编程语言编写编排代码。大多数复杂程序都不是使用可视化编程编写... 详细
消息数据库Message DB:PostgreSQL的事件存储和消息存储 - Eventide Blog

Eventide Project团队很高兴宣布Message DB:这是一款基于 PostgreSQL中 作为发布/订阅、事件溯源和事件微服务应用程序实现的、功能齐全的事件存储和消息存储。 Me... 详细
arxiv.org 1995年论文:消息队列是数据库

面向消息的中间件(MOM)已经成为一个小行业。MOM提供基于队列的事务处理,超过纯粹客户端/服务器事务。本论文提出四个观点: 1. 基于队列的事务处理不如直接事务处理通用。 队列系统是在直接事务之... 详细
如何提高在Spring Boot中使用MQ JMS的效率 -Mark Taylor

Spring框架为Java程序使用各种接口提供了简单的方法。它的JMS组件包括一些类,这些类可帮助程序等待新消息,类似于消息驱动Bean。已知使用IBM MQ时,Spring实现的默认行为不是最佳的... 详细