我有一段来自thiswebsite的代码它对对象的初始化进行了双重检查锁定。funccheckSyncProducer(){mutex.RLock()ifsyncProducer==nil{mutex.RUnlock()mutex.Lock()defermutex.Unlock()ifsyncProducer==nil{syncProducer=createSyncKafkaProducer()//thisfuncwillinitializesyncProducer.}}else{defermutex.RUnlock()}}这段代码在第一次nil检查之前有mutex.RLock()。为
我有一段来自thiswebsite的代码它对对象的初始化进行了双重检查锁定。funccheckSyncProducer(){mutex.RLock()ifsyncProducer==nil{mutex.RUnlock()mutex.Lock()defermutex.Unlock()ifsyncProducer==nil{syncProducer=createSyncKafkaProducer()//thisfuncwillinitializesyncProducer.}}else{defermutex.RUnlock()}}这段代码在第一次nil检查之前有mutex.RLock()。为
我是Golang的新手,我需要编写将事件发布到kafka的应用程序,我找不到以下问题的答案:我需要多少个sarama.SyncProducer?可以在所有应用中使用一个吗?我应该有某种生产者池吗? 最佳答案 除非您以比发布者发布它的速度高得多的速度发布数据(?),因为sarama发布者是asynchronousandconcurrent,我会说你不需要一个以上的出版商。所以直接回答你的问题:我会选择一个,但不知道您的要求。是的。我认为人们更有可能需要一群消费者,当然,消息发布率很高。 关
我是Golang的新手,我需要编写将事件发布到kafka的应用程序,我找不到以下问题的答案:我需要多少个sarama.SyncProducer?可以在所有应用中使用一个吗?我应该有某种生产者池吗? 最佳答案 除非您以比发布者发布它的速度高得多的速度发布数据(?),因为sarama发布者是asynchronousandconcurrent,我会说你不需要一个以上的出版商。所以直接回答你的问题:我会选择一个,但不知道您的要求。是的。我认为人们更有可能需要一群消费者,当然,消息发布率很高。 关