zoukankan      html  css  js  c++  java
  • 01.RabbitMQ简单使用

    官网地址:https://www.rabbitmq.com/getstarted.html

    RabbitMQ

    • 优点:
      • 数据处理异步执行;
      • 应用之间解耦;
      • 流量削峰

    1.docker 安装 RabbitMQ

     docker pull rabbitmq:management //拉去rabbitmq管理版
     //启动rabbitmq
     docker run -d -p 15672:15672  -p  5672:5672  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --name rabbitmq --hostname=rabbitmqhostone  rabbitmq:management
     
    //插看rabbitmq是否启动    
     docker ps
    
    //查看docker管理系统
     http://ip:15672 
    
    

    2.RabbitMQ的几个基本概念

    2.1 服务器结构和概念

    • Binding 是交换机和队列之间的路由规则,可以多对多;
    • Channel 信道是在TCP连接中虚拟的连接,因为TCP连接的开闭开销比较大,通过这种方式复用一个TCP连接。发送,接收,订阅都通过信道完成;
    • Virtual host RabbitMQ服务器上有多个虚拟主机;

    2.2 Exchange几种模式

    1.simple
    一对一

    2.work queues
    在工人之间分配任务(竞争的消费者模式)
    一个exchange,一个queues,一个provder,多个consumer;一个任务多个消费者竞争完成;

    3.Publish/Subscribe
    Sending messages to many consumers at once(同时向多个消费者发送信息)

    4.Routing
    Receiving messages selectively(有选择地接收消息)

    5.Topics
    Receiving messages based on a pattern (topics) 基于模式(主题)接收消息。

      这个是这几种模式中比较难理解的:
    
      其中涉及到了两个“key”,一个是routerKey,另一个是bindingkey.
        routeKey是消息发送给交换机的key值。
        bindingkey是exchange绑定queue时的key值。
    
      路由key和模式进行匹配。queue需要绑定这个模式(bindingkey)。
      模式将字符串切割成为字符串,用.进行切割,有两种通配符:
        1.*匹配一个单词
        2.#匹配0个或多个字符
    

    6.RPC
    Request/reply pattern 请求/应答模式

    3.几个注意点

    • durable设置问题:如果不设置durable会存在什么问题?
    rabbitMQ默认将消息存储在内存中,若rabbitMQ宕机,那么所有数据就会丢失,未申明durable的交换器和队列都会被删除。
    所以在声明队列的时候可以声明将数据持久化,但是如果已经声明了一个未持久化的队列,那么不能修改,只能将这个队列删除或重新声明一个持久化数据。
    1.将queue的持久化标识durable设置为true,则代表是一个持久的队列
    2.发送消息的时候将deliveryMode=2
    
    
  • 相关阅读:
    面向对象的继承关系体现在数据结构上时,如何表示
    codeforces 584C Marina and Vasya
    codeforces 602A Two Bases
    LA 4329 PingPong
    codeforces 584B Kolya and Tanya
    codeforces 584A Olesya and Rodion
    codeforces 583B Robot's Task
    codeforces 583A Asphalting Roads
    codeforces 581C Developing Skills
    codeforces 581A Vasya the Hipster
  • 原文地址:https://www.cnblogs.com/perferect/p/12971571.html
Copyright © 2011-2022 走看看