mysql怎么用 mysql消息队列满的时候怎么处理?
浏览量:1140
时间:2021-03-12 10:32:30
作者:admin
mysql消息队列满的时候怎么处理?
①请求消息处理线程负责端口监控。如果新连接进入,它将验证连接的有效性。如果成功,它将加入连接池。连接池只能容纳一定数量的连接。它监视连接池中的所有连接是否都有消息输入。如果有,它读取请求消息并处理连接。连接是非协议关闭的(如断电)
②将请求消息写入消息队列时,必须更改消息的格式,并且必须将队列和连接的时间戳添加到原始消息头中。
③通知连接无法处理请求。由于消息队列可以容纳有限数量的消息,并且消息队列是循环的和可丢弃的,因此只有当消息处理线程组太忙且客户端有大量请求时,才需要丢弃最早的消息。丢弃最旧的消息时,请检查时间戳。如果没有超时,将生成“系统太忙,无法处理请求”的结果消息,并将其添加到结果队列中。如果消息队列已满,可以考虑动态增加处理线程的数量,但必须限制处理线程组的数量。
谁有PHP Mysql Redis邮件队列的栗子?
需要定制特定业务。
您的需求实际上是一种畸形的生产者-消费者意识。对于这种需求,主要目的是将请求与实际处理过程解耦。一般来说,请求者是异步通知的,这与是否使用redis关系不大。一般的实现方法是将用户的请求封装成一个任务,然后将任务推送到redis队列,再推送到后端工人.php任务可以由多进程、多线程并发处理,处理结果可以回调给请求者。这里唯一的问题是任务的设计,它需要包含请求信息(请求内容、请求者ID等)。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。