数据库有100万个用户要怎样的短信群发方法才是最好的?
最简单的,batch+消息队列
那些短信云应该支持的,比如阿里大于。不过肯定不能100万一起发,分批次吧,最好专门写个服务干这个事
100万其实不多,现在的短信平台基本都支持一次性发送1000条记录,如果你异步发送也就几分钟的事情,我之前也有做过类似的事情,把你发送的记录生成一个临时的hash,万一发送失败,要发重新发送,不能给用户重复发。
1 批量取出,这个你可以考虑 每100 或者 1000相隔的ID 一次一次取,这样速度快。
2 并发发送 这里会涉及到,涉及到多线程并发 可以看SWOOLE WORKMAN
2.1 内容可重复,短信服务商提供并发发送100条一批次吧估计
2.2 如果内容不重复,那就一条一条发
3 记录发送结果,定时重发
看短信接口每秒可以最大接受的量
然后并发执行:
p1&
p2&
p3&
wait
p4&
p5&
p6&
...