首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sarama ClusterAdmin连接问题-管道损坏

Sarama ClusterAdmin连接问题-管道损坏
EN

Stack Overflow用户
提问于 2020-09-04 21:49:26
回答 1查看 188关注 0票数 0

我使用sarama(1.27) ClusterAdmin来管理kafka1.1.0中的主题。我管理kafka主题的应用程序是作为REST服务运行的。我的应用程序在一段时间内运行良好,我可以获取/创建/删除主题。

但是经过一段时间没有任何活动后,一个新的主题请求收到错误- write tcp xxxxx:37888->xxxxx:9092: write: broken。

我偶然发现了这个How to fix broker may not be available after broken pipe

由于我的应用程序是作为服务运行的,我如何防止管道损坏的问题?我只在应用程序退出时关闭ClusterAdmin。使用相同的ClusterAdmin连接为所有请求提供服务。我为每个请求重新初始化clusterAdmin,如果出于任何原因它是空的(通常在第一次初始化后它不是空的,所以相同的连接被重用)。

我应该在每个请求得到服务后关闭clusteradmin,然后为每个主题请求打开一个NewClusterAdmin(),还是需要使用一个keepalive选项?

下面是我的现有代码:

代码语言:javascript
复制
if admin == nil{
        admin, err := NewClusterAdmin([]string{"localhost:9092"}, s.config)
        ..
}
topicMetadata, err := admin.DescribeTopics([]string{topicName})
EN

回答 1

Stack Overflow用户

发布于 2021-08-02 07:11:16

我也遇到了这个错误。我解决这个问题的方法是再试几次,例如2到10次。

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

https://stackoverflow.com/questions/63742478

复制
相关文章

相似问题

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