通过Confluent.kafka实现C#下使用Kafka(一)---生产者

通过Confluent.Kafka.dll在.net core下使用Kafka

1.在项目中安装Confluent.Kafka的Nuget包

2.添加生产者

复制代码
 1   /// <summary>
 2     /// Kafka消息生产者
 3     /// </summary>
 4     public class KafkaProducer
 5     {
 6         public static string brokerUrl = "localhost:9092";
 7         public static string topic = "TestTopic";
 9         private static readonly object Locker = new object();
10         private static IProducer<string, string> _producer;
11         /// <summary>
12         /// 单例生产
13         /// </summary>
14         public KafkaProducer()
15         {
16             if (_producer == null)
17             {
18                 lock (Locker)
19                 {
20                     if (_producer == null)
21                     {
22                         var config = new ProducerConfig
23                         {
24                             BootstrapServers = brokerUrl
25                         };
26                         _producer = new ProducerBuilder<string, string>(config).Build();
27                     }
28                 }
29             }
30         }
31  
32         /// <summary>
33         /// 生产消息并发送消息
34         /// </summary>
35         /// <param name="key">key</param>
36         /// <param name="message">需要传送的消息</param>
37         public static void Produce(string key, string message)
38         {
39             bool result = false;
40             new KafkaProducer();
41             if (string.IsNullOrEmpty(message) || string.IsNullOrWhiteSpace(message) || message.Length <= 0)
42             {
43                 throw new ArgumentNullException("消息内容不能为空!");
44             }
45             _producer.Produce(topic, new Message<string, string> { Key = key, Value = message });
46             _producer.Flush(TimeSpan.FromSeconds(10));
47         }
48     }
复制代码

外部调用Produce方法即可产生消息

 

参考文档:

https://blog.csdn.net/qq_23009105/article/details/87993827(C#实现kafka消息队列-Confluent.Kafka)

https://zhuanlan.zhihu.com/p/139101754(c#操作kafka(下)使用confluent.kafka)

posted @   真真真甜  阅读(1400)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示