用PHP Demo 学 RabbitMq
来源:互联网 发布:免费刷空间留言软件 编辑:程序博客网 时间:2024/06/05 02:22
先安装rabbitmq的PHP扩展amqp,至于为何是amqp,稍微搜索一下就会了解rabbitmq是基于amqp协议的。
概要
我们先大致了解一下rabbitmq,简单的说就是一个生产者-消费者模式的消息队列,支持消息持久化。同时需要了解几个名词,以及这几个名词之间的联系
- 生产者(producer)
- 信道(channel)
- 消息交换机(exchange)
- 消息队列(queue)
- 消费者(consumer)
- 路由关键词
工作流程
生产者产生的消息通过信道投递到某个消息交换机上,投递过程中指定了一个路由关键字,消息交换机将这条消息投递到不同的消息队列中的时候,依据路由关键字,该消息可能会被投递到某一个或者某几个符合路由规则的消息队列中,消费者从消息队列中取出消息进行后一步处理。
分发机制
当多个消费者同时在消费同一个消息队列的时候,rabbitmq会顺序分发队列中message,当每个message收到ack,就会将这条消息从消息队列中删除,这种分发的机制叫做round-robin
这里不过多讨论rabbitmq的消息分发机制,有兴趣可以参考这个衔接
RabbitMQ消息队列(三):任务分发机制
Demo
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
以上代码就构造了一个生产者,并投递了一条消息到rabbitmq中。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
以上代码构建了一个消费者,并从消息队列中拿出一条消息,并把该消息从队列中移除。
补充
补充说明一下rabbitmq的使用命令 rabbitmq-server start
是启动rabbitmq服务。
主要的管理rabbitmq使用的是rabbitctl命令
rabbitmqctl start_app
启动rabbitmqrabbitmqctl stop_app
关闭rabbitmqrabbitmqctl reset
重置rabbitmq队列rabbitmqctl list_queues
查看rabbitmq中队列rabbitmqctl list_exchanges
查看rabbitmq中的交换机
阅读全文
0 0
- 用PHP Demo 学 RabbitMq
- 用PHP Demo 学 RabbitMq
- RabbitMQ + PHP演示demo
- rabbitmq demo
- PHP rabbitmq
- rabbitmq php
- java rabbitMQ demo
- rabbitmq java demo详解
- java rabbitMQ demo
- rabbitmq demo学习
- rabbitmq官网DEMO
- SpringBoot + RabbitMQ 使用Demo
- RabbitMQ demo及其详解
- java rabbitMQ demo
- (五)RabbitMQ消息队列-安装amqp扩展并订阅/发布Demo(PHP版)
- 用PHP尝试RabbitMQ(amqp扩展)
- RabbitMQ(二):实例demo
- Rabbitmq消息发送接收Demo
- null value was assigned to a property of primitive type setter of原因急解决方法
- 2017 CCPC-WFinal&&HDOJ6026 Deleting Edges
- eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
- 耐心积累
- java某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
- 用PHP Demo 学 RabbitMq
- Flask系列教程(2)——URL和视图
- nginx反向代理服务器搭建,应用服务器集群负载均衡
- 编写简单php,实现网络收音机web转台功能
- java 计算字符串中子串出现的次数
- java数组定义
- AeroSpike配置及Java Client使用
- 原来这几个.properties文件是这样用的,可以说是很厉害了。
- 小程序支付php