不考虑运营商发送时间,就只是系统到他们平台
1
loading 2015-11-01 08:51:16 +08:00
队列
|
2
tanteng 2015-11-01 08:59:11 +08:00
直接调用服务提供商接口,不考虑并发吧,并发是服务商要考虑的
|
4
xenme 2015-11-01 11:25:24 +08:00
反正是调用服务商的接口,你直接狂发呗。
|
5
gt11799 2015-11-01 14:00:07 +08:00
用 Python 写的话,用 celery 做异步就行了。
|
6
baiyuxiong 2015-11-01 14:34:17 +08:00 via iPhone
@tanteng 调接口也需要时间,做成同步的肯定不好方案。用 redis 队列,单独一个应用监听队列发短信
|
7
billwang 2015-11-01 14:45:25 +08:00
运营商肯定也会设定一个接口的发送时间间隔或者一段时间内短信发送量,多了人家就不给你发了。除非用联通自己的预留的接口
|
8
Soar360 2015-11-01 15:23:53 +08:00
短信网关。把要发的任务提交给网关,网关自己根据任务量和任务特性(通知、验证码还是别的)调用不同的平台发送。。
|
9
wshcdr 2015-11-01 15:44:14 +08:00
一般的短信 SP 提供的能力为每个通道, 3 条 /秒
|
10
realpg 2015-11-01 16:05:08 +08:00
直连运营商的系统, 95 条每秒,超过 100 直接屏蔽接口 30 秒。
用轮询系统去刷数据库队列,发送成功改状态。 开发端只写数据库的待发表,不处理发送逻辑。 |
11
zz412000428 2015-11-01 17:04:49 +08:00
队列推送给运营商
|
12
GitFree 2015-11-01 22:38:53 +08:00
验证码发送服务, celery 消息队列实现,压测(当然发短信部分做了模拟处理,不然就要卷铺盖走人了)发送并发能达到 2000qps
|
14
akira 2015-11-01 23:31:32 +08:00
这个是看对方平台的限制的呀
|
15
zhangv 2015-11-01 23:55:22 +08:00
队列、异步处理。
实时性主要还是短信通道的问题。 |
16
konakona 2015-11-02 01:37:40 +08:00
队列。
说到队列,我被 ThinkPHP 弄哭了.. =。= 现在在研究怎么样用它的 CLI 模式下,能够每个循环之后立刻释放模型... 没看到有,除了$this->db->close(),但是这样一来-..- 怎么开呢,还在进一步研究。 不然 mysql 会因为长时间没有释放,导致脚本崩溃。 |
17
beneo 2015-11-02 08:28:46 +08:00
云片,不是广告
|
18
caixiexin 2015-11-02 09:18:19 +08:00
看样子不是直接对接运营商的接口?
不用缓存的话,数据库做待发送池,程序异步取数据发送。 数据库保存短信详细业务数据的地方和待发池数据分开保存 另外要看对方提供的接口允许批量不,要是这个接口一次只能送一条就蛋疼了。还有就是发出去之后自己平台要接受状态报告吗?要接受报告的话量大以后也是个很大的问题。 |
19
perpyy 2015-11-02 09:22:26 +08:00
目前 5000 条 /秒~
|
20
crayhuang 2015-11-02 10:35:24 +08:00
队列~
|
21
tanteng 2015-11-02 18:55:21 +08:00
@baiyuxiong 嗯,有道理
|