首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中断行为-在使用新数据之前耗尽全部缓冲区

中断行为-在使用新数据之前耗尽全部缓冲区
EN

Stack Overflow用户
提问于 2020-07-21 20:47:56
回答 1查看 70关注 0票数 0

我有以下场景。

我们在K8s的云中对我们的应用程序进行了负载测试。我们的入站消息是通过Kafka发送的,我们正在给Kafka回信。我们的架构是这样的: Kafka线程将消息推送到disruptor (阻塞等待策略,512大小),业务线程将消息从disruptor中取出进行处理。为了模拟负载,我们在Kafka主题(4个分区)中设置了应用程序未运行时的关闭500K消息。然后,我们启动应用程序来测量负载。

我们看到的是,disruptor完全填满了剩余的0容量,然后开始耗尽,这种情况一次又一次地继续下去。

这是正确的行为,还是我们以错误的方式使用颠覆者?请分享你的想法?

EN

回答 1

Stack Overflow用户

发布于 2021-02-04 07:08:14

在将消息排入队列之前,您应该启动中断器。将事件发布到环形缓冲区后,事件处理程序将立即对其进行处理。

在任意时刻在环形缓冲区中等待的事件的数量将取决于生产者和消费者处理时间之间的不平衡。

请注意,当环形缓冲区已满时,在使用next()方法声明环形缓冲区中的序列时,您将遇到背压,并且您的生产者线程将被阻塞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63014910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档