集成RabbitMQ+MQ常用操作

集成RabbitMQ与MQ常用操作指南🚀

RabbitMQ是一个开源的消息代理和队列服务器,用于在分布式系统中存储和转发消息。下面我们将介绍如何集成RabbitMQ以及常用的MQ操作。

1.RabbitMQ集成🛠️

首先,我们需要在项目中添加RabbitMQ的依赖:

```python
Python示例
pipinstallpika
```

```java
//Java示例(Maven)

com.rabbitmq
amqp-client
5.12.0

```

2.连接RabbitMQ🔌

建立与RabbitMQ服务器的连接:

```python
importpika

connection=pika.BlockingConnection(
pika.ConnectionParameters('localhost'))
channel=connection.channel()
```

```java
//Java示例
ConnectionFactoryfactory=newConnectionFactory();
factory.setHost("localhost");
Connectionconnection=factory.newConnection();
Channelchannel=connection.createChannel();
```

3.常用MQ操作⚙️

创建队列📦

```python
channel.queue_declare(queue='hello')
```

```java
channel.queueDeclare("hello",false,false,false,null);
```

发送消息✉️

```python
channel.basic_publish(exchange='',
routing_key='hello',
body='HelloWorld!')
```

```java
channel.basicPublish("","hello",null,"HelloWorld!".getBytes());
```

接收消息📩

```python
defcallback(ch,method,properties,body):
print("xReceived%r"%body)

channel.basic_consume(queue='hello',
auto_ack=True,
on_message_callback=callback)
```

```java
DeliverCallbackdeliverCallback=(consumerTag,delivery)->{
Stringmessage=newString(delivery.getBody(),"UTF-8");
System.out.println("xReceived'"+message+"'");
};
channel.basicConsume("hello",true,deliverCallback,consumerTag->{});
```

关闭连接🔚

```python
connection.close()
```

```java
channel.close();
connection.close();
```

4.高级特性🌟

RabbitMQ还支持:
-交换机(Exchange)路由🔀
-消息确认机制✅
-持久化消息💾
-死信队列⚰️
-集群部署🖥️🖥️🖥️

通过合理使用这些特性,可以构建出高效可靠的分布式消息系统!🎯

相关推荐
GetcharZp6 小时前
抛弃低效SSH!这套Ansible+Web可视化神器,让你天天准点下班!
后端
码智社6 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
萧瑟余晖7 小时前
JDK 26 新特性详解
java·开发语言
马优晨8 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
weixin_446260859 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
ttwuai10 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
用户83562907805110 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
维天说10 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json
用户99314415798410 小时前
微服务框架中获取用户信息
后端