发送更新的消息总线最佳做法

t98cgbkg  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(144)

我想了解在使用消息总线更新几个服务时的最佳实践是什么。
基本的展示案例是通过总线发送完整的对象,每个侦听者都可以立即获得数据并进行处理。
另一种选择是通过总线发送最少的必要数据,3/4字段,然后每个侦听服务应请求主应用程序获取所需的数据以进行处理。
主应用程序不等待任何人完成他们的工作,我们谈论的是一个有30到40个字段的对象,不超过10 kb,大多数情况下不超过5 kb。
使用第二种方法有什么体系结构优势吗?

px9o7tmv

px9o7tmv1#

设计总是关于选择之间的权衡。
选项-1:这是首选的,易于实现,并且真正与生成器分离。如果需要,可以启用压缩以减小大小,尽管压缩会略微降低总体吞吐量。此方法将需要更多的磁盘空间和应用程序内存。例如:Json有效负载。您的示例似乎更适合使用option-1。
选项-2:如果Kafka消息的目的是通知最少的信息,则可使用此方法,其他详细信息可以是文件或独立的对象/多媒体URL。一个参考实施是在AWS S3事件流中,其中S3发布消息到达信息(例如:某人上传的文件)和S3 URL,然后消费者可使用此信息进行处理。此方法需要对象存储或多媒体主机,以允许消费者连接并下载/处理特定事件。

相关问题