RabbitMQ:这是一种基于AMQP协议的消息队列,C#可以通过RabbitMQ Client库进行访问。
// 创建连接工厂 ConnectionFactory factory = new ConnectionFactory() { HostName = "localhost" }; // 创建连接 using (IConnection connection = factory.CreateConnection()) { // 创建信道 using (IModel channel = connection.CreateModel()) { // 声明消息队列 channel.QueueDeclare("queue_name", false, false, false, null); // 发布消息 channel.BasicPublish("", "queue_name", null, Encoding.UTF8.GetBytes("Message")); // 消费消息 var consumer = new QueueingBasicConsumer(channel); channel.BasicConsume("queue_name", true, consumer); while (true) { var delivery = consumer.Queue.Dequeue(); var message = Encoding.UTF8.GetString(delivery.Body); Console.WriteLine("Received: {0}", message); } } }
- ActiveMQ:这是著名的Java开源消息队列,C#可以通过ActiveMQ Client库访问。用法与RabbitMQ类似。
- Azure Service Bus队列:这是Azure云服务中的消息队列服务,C#可以通过Azure Service Bus SDK进行访问。
- Kafka:这是Apache的分布式消息队列平台,C#可以通过Confluent Kafka Client访问。
除此之外,C#还可以基于Redis、ZeroMQ等中间件实现简单的消息队列。总之,C#有多种方式可以实现消息队列并应用于企业系统的异步通信与集成。
文档更新时间: 2023-11-14 06:17 作者:admin