首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡夫卡生产者行为

卡夫卡生产者行为
EN

Stack Overflow用户
提问于 2015-10-16 19:21:18
回答 3查看 365关注 0票数 0

我在我的本地主机上设置了Kafka,并试图监控Kafka生产者的行为,以防出现网络问题。

即使当所有代理都关闭时,生产者也不会给出任何错误。我使用的是同步制作器和Kafka 0.8版。

如果所有的代理都宕机了,生产者有没有办法收到异常?

EN

回答 3

Stack Overflow用户

发布于 2015-10-19 23:46:10

这取决于生产者配置(producer config)

尤其要注意参数:

代码语言:javascript
复制
  (METADATA_FETCH_TIMEOUT_CONFIG, 60000),
  (TIMEOUT_CONFIG, 10000),
  (RETRY_BACKOFF_MS_CONFIG, 100),
  (RECONNECT_BACKOFF_MS_CONFIG, 1000)

当然,您必须更改有关设置的参数。所有这些参数都会影响生产者的行为。

票数 1
EN

Stack Overflow用户

发布于 2015-10-19 23:20:18

请在您的生产者中添加异常处理:

代码语言:javascript
复制
try{
      Producer logic
}
catch (Exception ex) {
      String errorMsg = "Failed to publish events";
      logger.error("Failed to publish events", ex);
      result = Status.BACKOFF;

如果还是不起作用,请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2015-10-24 00:16:38

Java/Scala中较新的8.2生成器(异步生成器)为每条消息传递了一个回调方法。您可以尝试并处理回调中的失败。可能会重试。回调方法有两个参数(Exceptionand和MessageMetatData)。任何时候都只会设置一个。Meatadata是在您的消息成功发送时设置的,如果出现问题则例外。

然而,使用同步生成器,您必须设置max.retries和其他配置,正如@leshkin指出的那样。

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

https://stackoverflow.com/questions/33169231

复制
相关文章

相似问题

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