RabbitMQ工作生活

Rabbitmq打怪升级之路(七)AMQP协议

2019-07-05  本文已影响0人  亚武de小文

简书:亚武de小文 【原创:转载请注明出处】

生产者与消费者模型

LengToo上学.png

RabbitMQ 是遵从 AMQP 协议的, 换句话说 , RabbitMQ 就是 AMQP协议的 Erlang 的实现(当然 RabbitMQ 还支持 STOMP2 、 MQTT3 等协议 ) 0 AMQP 的模型架构和 RabbitMQ 的模型架构是一样的,生产者将消息发送给交换器,交换器和队列绑定 。

AMQP模型图
AMQP模型图.png
内部三层
amqp生产者代码
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
factory.setUsername("guest");
factory.setPassword("guest");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
String message = "Hello,亚武de小文!";
channel.basicPublish("", QUEUE_NAME, null, msg);
amqp消费者代码
ConnectionFactory factory = new ConnectionFactory();
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
Consumer consumer = new DefaultConsumer(channel) {......}
channel.basicConsume(QUEUE_NAME, true, consumer);
常用命令
名称 是否包含内容体 对应客户端中方法 简要描述
Connection.Start factory.newConnection 建立连接相关
Connection.Close connection.close 关闭连接
Channel.Open connection.openChannel 开启信道
Channel.Close channel.close 关闭信道
Exchange.Declare channel.exchangeDeclare 声明交换器
Exchange.Declare channel.exchangeDelete 删除交换器
Queue.Declare channel.queueDeclare 声明队列
Queue.Bind channel.queueBind 队列与交换机绑定
Queue.purge channel.queuePurge 清除队列中的内容
Queue.Delete channel.queueDelete 删除队列
Queue.Unbind channel.queueUnbind 队列与交换机解绑
上一篇 下一篇

猜你喜欢

热点阅读