通过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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!