• 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
    
    
  • 相关阅读:
    测试工具Fiddler(一)—— 基础知识
    测试必备之Java知识(四)—— 线程相关
    【猫狗数据集】保存训练模型并加载进行继续训练
    【colab pytorch】保存模型
    【python-leetcode90-子集】子集Ⅱ
    【猫狗数据集】定义模型并进行训练模型
    【colab pytorch】数据处理
    hadoop之java.io.IOException: Got error, status message , ack with firstBadLink as 192.168.*.* 50010
    hadoop完全分布式之集群时间同步
    hadoop之完全分布式集群配置(centos7)
  • 原文地址:https://www.cnblogs.com/perferect/p/12971571.html
Copyright © 2020-2023  润新知