分类 - RabbitMQ

2024-02-16 12:20:44    30    0    0
RabbitMQ教程 RabbitMQ 是一个开源的消息队列系统,它基于AMQP(高级消息队列协议)标准设计。消息队列允许应用程序异步地发送和接收数据,这意味着消息发送者不需要等待消息接收者处理信息,从而提高了应用程序的处理效率和扩展性。 安装Rabbitmq及用户管理 安装 1.使用docker查询rabbitmq的镜像 docker search rabbitmq 2.安装镜像 默认最新版本 docker pull rabbitmq 如果需要安装其他版本在rabbitmq后面跟上版本号即可 docker pu
2023-06-21 20:17:43    23    0    0
安装Rabbitmq及用户管理 安装 1.使用docker查询rabbitmq的镜像 docker search rabbitmq 2.安装镜像 安装name为rabbitmq的这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可 docker pull rabbitmq 3.运行mq: 需要注意的是-p 5673:5672 解释:-p 外网端口(主机的端口):docker的内部端口 ,你们可以改成自己的外网端口号,我这里映射的外网端口是5673那么程序连接端口就是用5673 docker
2023-06-21 20:17:43    12    0    0
生产者和消费者 生产者 \# coding=utf-8\### 生产者import jsonimport pikaimport datetimeimport timecredentials = pika.PlainCredentials('guest', 'guest') # mq用户名和密码**\# 虚拟队列需要指定参数 virtual_host,如果是默认的可以不填。**connection = pika.BlockingConnection(pika.ConnectionParameters(host = '123.60.216.176',port = 5673,v
2023-06-21 20:17:43    10    0    0
扇出模式 producer不需要指定队列,只需要指定exchange consumer才需要指定队列和交换机,consumer的队列 一般会用默认队列 连接 交换机 channel.exchange_declare(exchange='logs',exchange_type='fanout') result = channel.queue_declare(queue='',exclusive=True) consumer # coding=utf-8 ### 消费者 import pika user_info = pika.
2023-06-21 20:17:43    10    0    0
direct模式 producer 只需要往 direct交换机中发消费,producer 向routing key中发消息 routing key 和 队列是 多对一 关系,一个队列可以有多个routing key consumer 只从队列如“direct_queue1”中取数据, 新建maven项目mqtest pom中导入rabbitmq相关依赖 <dependencies> <dependency> <groupId>com.rabbitmq</groupId>
2023-06-21 20:17:43    12    0    0
topic模式 producer只需要向topic交换机里发送信息,producer需往routing-key中发信息 routing-key与queue可以是多对一 producer # coding=utf-8 ### 生产线者 import json import pika import sys import datetime import time credentials = pika.PlainCredentials('admin', '123') # mq用户名和密码
2023-06-21 20:17:43    22    0    0
RPC调用 Rpc是异步调用,client发送请求,同时告诉server处理完后要发送消息给:回调队列的ID:correlation_id=abc,并调用replay_to回调队列对应的回调函数。 不要对消息进行确认,反复确认会导致进入死循环 client import json import pika import uuid class RpcClient(): ​ def init(self): ​ self.credentials = pika.PlainCredentials('g