首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我们没有在kafka中使用delivery回调,那么在produce之后调用poll()有什么意义吗?

如果我们没有在kafka中使用delivery回调,那么在produce之后调用poll()有什么意义吗?
EN

Stack Overflow用户
提问于 2020-11-10 15:36:49
回答 1查看 222关注 0票数 0

我们正在尝试优化我们的python应用程序,它通过confluent python kafka客户端生成消息到kafka主题,使用confluent控制中心,我们可以检查特定的消息是否传递到kafka主题,所以现在的问题是,我们应该在producing之后使用poll()函数,因为交付回调现在被删除了,如果我们在1秒内产生100K消息,它是否会导致更好的吞吐量。

代码语言:javascript
运行
复制
producer.produce( topic=topicName, value=msg, key=msg_key)
producer.poll(0) # Is poll now required

我们使用的是在内部使用librdkafka的confluent python api,如果中介成功地处理了产生的请求,那么成功响应将被排入传递报告队列,并将在轮询调用时传递给应用程序,因此如果没有轮询,这意味着传递队列将在一段时间后完全填满,并可能产生问题。

EN

回答 1

Stack Overflow用户

发布于 2020-11-16 16:06:21

可以,您仍然需要调用poll()才能触发内部投递报告回调。

但是您确实希望使用传递报告回调,否则您无法指示是否可以生成消息。至少为失败的投递添加日志消息。

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

https://stackoverflow.com/questions/64764616

复制
相关文章

相似问题

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