设计不同,且实现不同
Kafka的事务机制主要是为了保证Kafka内部消息写入的原子性,例如多个Topic 的原子写入以及 Exactly Once 语义,它并不能解决数据库事务与消息发送之间的一致性问题。
而RocketMQ 的事务消息通过 Half Message + 本地事务 + Broker 回查机制,实现了业务事务与消息发送的一致性,从而解决分布式事务问题,因此 RocketMQ 采用了不同的设计