KoK*_*oKo 1 masstransit rabbitmq
我想将 Mass Transit 与 RabbitMQ 和 Kafka 结合使用作为消息代理。
在部署阶段可以决定使用哪一个来传输消息。
我知道什么是 ConsumeContext、ISendEndpointProvider 或 IPublishEndpoint。根据 链接,该接口在 RabbitMQ 和 Kafka 之间共享,用于发布消息并使用该消息。
我在 .Net Core 应用程序启动时配置了 RabbitMQ 和 Kafka,并通过部署阶段的 appSetting 可以决定必须注册哪一个。
这种方法对于在我的应用程序中同时配置 Kafka 和 RabbitMq 是否正确?
使用 MassTransit,Kafka 是一个与总线 \xe2\x80\x93\xc2\xa0 一起配置的Rider,并且总线仍然需要受支持的传输。如果您有 RabbitMQ,那么这将是您的总线传输,并且 Kafka Rider 将存在于总线旁边,使用总线来发布和发送消息。
\n使用Kafka,消息只能被消费或产生\xe2\x80\x93\xc2\xa0,不能发布,也不能发送。该ITopicProducer<T>接口用于向 Kafka 主题生成消息。
调用Publish或Send将会ConsumeContext发布或发送这些消息到骑手的总线(可能是 RabbitMQ,或任何支持的传输,包括 InMemory 传输)。必须使用 Kafka 主题生成消息ITopicProducer<T>(可以作为消费者的依赖项注入)。
\n\n您无法将 RabbitMQ 与 Kafka 一起“切换”,因为这两种服务非常不同。
\n
| 归档时间: |
|
| 查看次数: |
1969 次 |
| 最近记录: |