集成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)路由🔀
-消息确认机制✅
-持久化消息💾
-死信队列⚰️
-集群部署🖥️🖥️🖥️

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

相关推荐
yuluo_YX8 分钟前
Reactive 编程 - Java Reactor
java·python·apache
山岚的运维笔记22 分钟前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
神奇小汤圆31 分钟前
浅析二叉树、B树、B+树和MySQL索引底层原理
后端
文艺理科生41 分钟前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构
千寻girling41 分钟前
主管:”人家 Node 框架都用 Nest.js 了 , 你怎么还在用 Express ?“
前端·后端·面试
南极企鹅43 分钟前
springBoot项目有几个端口
java·spring boot·后端
Luke君607971 小时前
Spring Flux方法总结
后端
define95271 小时前
高版本 MySQL 驱动的 DNS 陷阱
后端
清风拂山岗 明月照大江1 小时前
Redis笔记汇总
java·redis·缓存
xiaoxue..1 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试