Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Golang Sarama包从本地运行的Kafka服务器使用消息_Go_Apache Kafka_Telegram Bot_Sarama - Fatal编程技术网

无法使用Golang Sarama包从本地运行的Kafka服务器使用消息

无法使用Golang Sarama包从本地运行的Kafka服务器使用消息,go,apache-kafka,telegram-bot,sarama,Go,Apache Kafka,Telegram Bot,Sarama,我正在制作一个简单的电报机器人,它可以从本地卡夫卡服务器读取消息,然后打印到聊天室。 zookeeper和kafka服务器配置文件均为默认值。控制台消费者工作。当我试图使用Golang Sarama包使用代码中的消息时,问题就出现了。在我添加这些行之前: case err:=在代码中设置了所有PartitionConsumers之后,您将关闭您的消费者 defer func() { if err := consumer.Close(); err != nil {

我正在制作一个简单的电报机器人,它可以从本地卡夫卡服务器读取消息,然后打印到聊天室。 zookeeper和kafka服务器配置文件均为默认值。控制台消费者工作。当我试图使用Golang Sarama包使用代码中的消息时,问题就出现了。在我添加这些行之前:


case err:=在代码中设置了所有
PartitionConsumer
s之后,您将关闭您的消费者

defer func() {
            if err := consumer.Close(); err != nil {
                panic(err)
            }
        }()
但是,文档规定,您只应在关闭所有PartitionConsumers之后关闭使用者

// Close shuts down the consumer. It must be called after all child
// PartitionConsumers have already been closed.
Close() error

我建议您将
sync.WaitGroup
添加到函数
go func(pc sarama.PartitionConsumer){

在代码中设置所有
PartitionConsumer
后,您将关闭您的消费者

defer func() {
            if err := consumer.Close(); err != nil {
                panic(err)
            }
        }()
但是,文档规定,您只应在关闭所有PartitionConsumers之后关闭使用者

// Close shuts down the consumer. It must be called after all child
// PartitionConsumers have already been closed.
Close() error

我建议您将
sync.WaitGroup
添加到函数
go func(pc sarama.PartitionConsumer){

错误消息非常清楚,您的代理(kafka服务器)无法从您的客户端(无论在何处)访问问题是,客户机能够获取消息,但只有在错误消息非常清楚的情况下,您的代理(kafka服务器)才能从您的客户机(无论在何处)访问。问题是,客户机能够获取消息,但只有一次这似乎不是问题所在,因为我删除了延迟功能(只是想看看是否是这样),但程序仍会暂停。在使用test1/0:kafka:broker not connected时,是否仍会给出错误消息
kafka:error,如问题中所述?这似乎不是问题,因为我删除了延迟函数(只是想看看是否是这样),但程序仍会暂停。在使用test1/0:kafka:broker not connected时,是否仍会出现问题中提到的错误消息
kafka:error?