集成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("[x]Received%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("[x]Received'"+message+"'");
};
channel.basicConsume("hello",true,deliverCallback,consumerTag->{});
```

关闭连接🔚

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

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

4.高级特性🌟

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

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

相关推荐
952365 小时前
MyBatis
后端·spring·mybatis
FQNmxDG4S7 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
虹科网络安全7 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje8 小时前
Java语法进阶
java·开发语言·jvm
uzong8 小时前
9 种 RAG 架构,每位 AI 开发者必学:完整实战指南
后端
rKWP8gKv78 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫8 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287928 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本8 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
止语Lab8 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang