zoukankan      html  css  js  c++  java
  • rabbitmq vhost

    一个队列不受任何限制,它可以存储你想要存储的消息量,它本质上是一个无限缓冲区。多个生产者可以向同一个队列发关消息,多个消费者可以尝试从同一个消息队列中接收数据。
    注意:生产者 消费者 中间件不必在一台机器上,实现应用中也是绝大多数不在一起的。
    生产者:
        首先,创建一个connection通过socket连接,去和服务器连接起来(需要传目 地服务器的ip,用户名,密码等)。接着创建一个channel。要发送消息,我们必须声明,然后我们可以向队列发布消息。注意:声明的队列,在服务器中如果不存在了,会自动创建。而消息的内容是字节数组,在使用时,注意编码问题。
    
    消息队列的使用过程大概如下:
    :客户端连接到消息队列服务器,打开一个channel
    :客户端声明一个exchange,并设置相关属性
    3:客户端声明一个queue,并设置相关属性
    4:客户端使用routing key,在exchange和queue之间建立好绑定关系
    5:客户端投递消息到exchange
    
    消息中间件的主要功能是消息的路(Routing)和缓存(Buffering).在AMQP中提 供类类似功能的两种域查模型:Exchange和Message queue
    Exchange接收消息生产生(Message Producer)发送的消息根据不同的路由算法将消息发送到Message queue。Message queue会在消息不能被正常消费时缓存这些消息,具体的缓存策略由实现者决定,当message queue与消息消费者(Message consumer)之间的连接通畅时,Message queue有将消息转发到consumer的责任。

    在与多个Message queue关联后,Exchange中就会存在一个路由表,这个表中存储着每个Message queue所需要消息的限制条件。Exchange就会检查它接受到的每个Message的Header及Body信息,业决定将Message路由到哪个queue中去。Message的Header中应该有个属性叫Routing Key,它由Message发送者产生,提供给Exchange路由这个Message的标准。Exchange根据不同路算法不同有Exchange Type.比如有Dirct类似,需要Binding key等于Routing key;也有Binding key与Routing key符合一个模式关系;也有根据Message包含 的某些属性来判断。一些基础的路由算法由AMQP所提供,client application也可以自定义各种自己的扩展路由算法。

    vhost虚拟主机:一个broker里可以开设多个vhost,用作不同用户的权限分离。

    channele消息通道:在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

    消息生产者如何确认消息发布成功呢?

    默认情况下,当用户也即消息生产者将消息发布出去后,会发生什么事情思?答案是什么也不会发生--对用户来说。这也就是说,消息发布后,就没有消息生产者什么事了,用户就不知道消息是发布成功了还是失败了。如果用户想知道发送消息是否成功,就可以用"transations"和"publisher confirems"这两种方式来处理消息发送。transations,也就是事务,提交后会给发布者返回发布是否成功的信息。publisher confirms和transations都 会接收到消息是否发布成功的信息,两者不同的是,transations是同步的,而publisher confirms方式是异步的。

  • 相关阅读:
    Filebeat Processors对日志数据的处理
    beats直接给es传输日志,自定义索引名
    Elasticsearch:修改fielddata
    Elasticsearch:Elasticsearch中的refresh和flush操作指南
    Elasticsearch创建索引(index)及一个文档(document)
    Elasticsearch:如何对PDF文件进行搜索
    C++ 类构造函数 & 析构函数~
    学习CSS的好地方:CSS Inspiration -- CSS灵感
    css式样里的content
    寄存器与cmp,mov,add,sub,IMUL指令
  • 原文地址:https://www.cnblogs.com/bass6/p/6347797.html
Copyright © 2011-2022 走看看