使用 Kafka 作为命令总线是个好主意吗?
Is it a good idea to use Kafka as Command Bus?
我正在开发 CQRS 应用程序,必须选择命令总线的底层实现。我们已经决定使用 Kafka 作为事件总线。但是命令总线呢?从我的角度来看,Kafka 对于命令总线要求来说太复杂了,例如,我们不需要持久存储命令,如果没有任何服务实时处理它,我们应该拒绝它们。有什么比用作分布式命令总线更好的呢?
Kafka 不关心你在上面存储什么;它只是字节。 Commands/Actions 是当您 处理事件 时发生的事情。
Creating an ESB with Kafka is considered an anti-pattern
we don't need to store commands persistently
然后降低对主题的保留,以免将它们存储太久。
we should reject them if no one of services handled it in real time
为什么?然后你只是丢弃事件,听起来你最好只使用点对点通信和健康检查机制(参见 gRPC)
我正在开发 CQRS 应用程序,必须选择命令总线的底层实现。我们已经决定使用 Kafka 作为事件总线。但是命令总线呢?从我的角度来看,Kafka 对于命令总线要求来说太复杂了,例如,我们不需要持久存储命令,如果没有任何服务实时处理它,我们应该拒绝它们。有什么比用作分布式命令总线更好的呢?
Kafka 不关心你在上面存储什么;它只是字节。 Commands/Actions 是当您 处理事件 时发生的事情。
Creating an ESB with Kafka is considered an anti-pattern
we don't need to store commands persistently
然后降低对主题的保留,以免将它们存储太久。
we should reject them if no one of services handled it in real time
为什么?然后你只是丢弃事件,听起来你最好只使用点对点通信和健康检查机制(参见 gRPC)