- 博客(4)
- 收藏
- 关注

原创 php rabbitmq延迟队列实现
rabbitmq是一款成熟的消息中间件产品,提供了各类应用场景下相关队列的实现。延迟队列也是其中之一,rabbitmq提供了两种实现延迟队列的途径,下边就针对这两种方式进行实战演戏(采用php实现)。TTL+死信队列(DLX)实现rabbitmq消息队列中的消息在以下几种情况下会变成“死信”:消息被拒绝(basic.reject / basic.nack),并且requeue = false;消息TTL过期;队列达到最大长度; 变成死信后可绑定死信交换机(dead letter e
2020-06-07 22:10:48
1634

原创 PHP操作rabbitmq实战
PHP操作rabbitmq实战 随着近几年来消息队列越来越多的被各大企业应用到业务场景中,rabbitmq也成为了一款被广大码农所喜爱的消息中间件产品。rabbitmq是基于amqp协议实现的,且与redis内置的队列相比在消费的可靠性保障、高可用、队列监控、流量控制等方面都有明显的优势,下面是php操作rabbitmq的实战演习(个人亲测可用)。 rabbitmq的安装和php amqp扩展的安装大家可以参考:rabbitmq安装。 在操作之前还需要理解以下几个rabbit概念:
2020-05-28 18:11:24
927
原创 责任链模式
最近项目开发中用到责任链模式,了解一番后,总结和demo如下:责任链是一种行为设计模式, 允许你将请求沿着处理者链进行发送, 直至其中一个处理者对其进行处理。该模式允许多个对象来对请求进行处理, 而无需让发送者类与具体接收者类相耦合。 链可在运行时由遵循标准处理者接口的任意处理者动态生成。...
2021-06-06 13:40:41
140
原创 rabbitmq持久连接实现方式
近期在使用rabbitmq时检测到生产环境频繁报错::{"message":"Broken pipe or closed connection","context":{"exception":{"class":"PhpAmqpLib\\Exception\\AMQPConnectionClosedException","message":"Broken pipe or closed connection"}}排查后基本确定是消费端进程在开启消费阻塞等待后,SLB出于资源的有效利用考虑会对空闲的TCP
2021-03-01 16:34:20
4799
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人