mysql做队列

发布时间: 2023-11-21 12:46 阅读: 文章来源:1MUMB4202PS

邮件发送原理

telnet命令模拟邮件发送:

1、cmd命令下telnet连接上QQ的smtp服务器

telnet smtp.163.com 25

遇到问题以及解决办法:

telnet命令错误

控制面板下windows功能

开启telnet客户端后重新运行即可成功

2、和smtp服务器打招呼

helo Miss (hi可以为任意其他英文字符)

表示连通

3、用base64加密的邮箱和密码登录字符串

qq邮箱出现太多问题,小编申请了163邮箱

这是发送结果

利用phpmailer类实现邮件发送

下载地址

文件下载下来后在根目录下创建index.php文件,输入以下demo,将下载下的文件名修改为PHPMailer

未截取的地方没有修改

运行index.php文件后的发送结果

为什么需要队列(FIFO)

消息队列解决的是将突发大量请求转换为后端能承受的队列请求,比如你的服务器一秒能处理100个订单,但秒杀活动1秒进来1000个订单,持续10秒,在后端能力无法增加的情况下,你可以用消息队列将总共10000个请求压在队列里,后台consumer按原有能力处理,100秒后处理完所有请求(而不是直接宕机丢失订单数据)。

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。

在phpcli模式下测试队列

重点:exec — 执行一个外部程序

启用do_queue.php后自动运行cli.php文件

cli模式下测试邮件队列

建表存储需要发送的邮件

sql表

使用php+mysql轮训实现队列

cli模式下测试队列

•••展开全文