zoukankan      html  css  js  c++  java
  • Rabbitmq~对Vhost的配置

     rabbitmq里有一些概念我们要清楚,如vhost,channel,exchange,queue等,而前段时间在部署rabbitmq环境时启用了虚拟主机vhost,感觉他主要是起到了消息隔离的作用,下面分别再说一下它们的知识。

    VHost

    vhost去做第一层的区分,虚拟主机,工作组等,它默认是/

    添加自己项目的Vhost

    添加成功后,在列表里可以显示

    添加建立一个用户,设置密码

     

    把用户添加到对应的VHost组里,注意连接时也要使用VHost参数,如果没有特别设置,可以不指定它,默认就是/

    channel

    创建了客户端到Broker之间的连接后,客户端还是不能发送消息的。需要为每一个Connection创建Channel,AMQP协议规定只有通过Channel才能执行AMQP的命令。一个Connection可以包含多个Channel。之所以需要Channel,是因为TCP连接的建立和释放都是十分昂贵的,如果一个客户端每一个线程都需要与Broker交互,如果每一个线程都建立一个TCP连接,暂且不考虑TCP连接是否浪费,就算操作系统也无法承受每秒建立如此多的TCP连接

    Exchange

    有多种类型,我们在发布和订阅时,要指定这些类型,一般我们会使用性能更好的direc,或者更灵活的,支持通配符的topic

    在客户端连接时,需要指定一下VHost

                exchangeName = options.ExchangeName;
                mqServerHost = options.MqServerHost;
                userName = options.UserName;
                password = options.Password;
                var factory = new ConnectionFactory()
                {
                    Uri = new Uri(mqServerHost)
                };
                factory.VirtualHost = options.VirtualHost;

    好了,本讲主要介绍了如何去配置VHost和如何去连接它!

  • 相关阅读:
    修复 Visual Studio Error “No exports were found that match the constraint”
    RabbitMQ Config
    Entity Framework Extended Library
    Navisworks API 简单二次开发 (自定义工具条)
    NavisWorks Api 简单使用与Gantt
    SQL SERVER 竖表变成横表
    SQL SERVER 多数据导入
    Devexpress GridControl.Export
    mongo DB for C#
    Devexress XPO xpPageSelector 使用
  • 原文地址:https://www.cnblogs.com/lori/p/7852534.html
Copyright © 2011-2022 走看看