kafka-序列化json时的用户速度

mwyxok5s  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(396)

我们正在构建一个microservices环境,它以json格式将消息生成到队列中。在使用这些消息时,我们使用json serialiser将其转换为c中的对象,但正因为如此,我们处理的每个消息(包括业务逻辑)都需要200-300ms的时间。
显然,对于消息传递系统来说,这是一个真正的拦截器。关于如何提高吞吐量有什么想法吗?也许我们采取了完全错误的方法。

ercv8c1e

ercv8c1e1#

这个问题似乎是关于json反序列化所花费的时间,这与kafka消费者没有太大关系。
如果在kafka使用者线程上花费大量时间进行反序列化,则需要微调max.poll.interval.ms和session.timeout.ms。您还可以控制max.poll.records返回的消息数。你需要微调参数。
如果您觉得反序列化的时间很长,那么应该将使用的json放在另一个内存队列中,并在单独的线程上并行处理它们(注意背压问题),从而将业务处理与使用分离开来,并且可以关闭使用方自动同步。
没有一站式解决方案,在加载时进行分析,对主题进行相应的分区,并通过让多个使用者具有相同的group.instance.id使应用程序具有可伸缩性,测试以了解其运行情况,然后只开始微调参数。

相关问题