[.Net 6] RabbitMQ入门看这篇就够了


Channels
1650079730_1_.png

Virtual Hosts
erlang.download

  • 安装RabbitMQ rabbitmq.download
  • VS2022
  • .Net 6
  • RabbitMQ安装好后访问http://localhost:15672/ 会看到以下界面
    image 29.png
    默认账号密码:guest,guest
    登录成功后会看到以下界面
    image 30.png

    接下来我们先创建两个控制台项目RabbitMQGetStarted与Consumer,分别当作生产者与消费者

    image 31.png
    然后装一下RabbitMQ.Client NuGet包
    image 32.png
    Work

    Routing

    根据上方例子我们可以发现所有发送到Direct Exchange的消息被转发到具有指定RouteKey的Queue。在这种模式下消息传递时,RouteKey必须完全匹配,才会被队列接收,否则该消息会被抛弃。

    我们之前的代码示例没有定义交换器,默认就是使用了Direct 交换器。
    现在我们重新定义一个Direct 交换器的生产者 Producer.DirectExchange
    然后跟上面图例一样声明两个队列,使用不同routeKey分别将队列与交换器绑定
    Program.cs
    image 42.png
    QueueDeclareExchangeDeclare方法详解同学们可以参考代码注释
    image 43.png
    我们启动两个消费者"hello1"与"hello2" 然后同时启动生产者
    (1)我们先使用路由键orange发布消息
    image 44.png
    我们可以看到消息将被路由到队列hello1
    GIF 2022-4-23 13-59-45.gif
    (2)我们再使用路由键green发布消息
    image 45.png
    我们可以看到消息将被路由到队列hello2
    GIF 2022-4-23 14-02-28.gif
    (3)我们再使用路由键black发布消息
    image 46.png
    我们可以看到消息也会被路由到队列hello2
    GIF 2022-4-23 14-04-51.gif
    这就是direct交换器

    https://www.rabbitmq.com/