最近被第三方短信平台下发不可达的问题搞得头疼要死,在这边也想和大家了解下相关第三方短信平台的问题。
有什么好的办法可以监控到第三方短信平台下发是否到达?
由于短信是由第三方平台下发,作为我方是无法直接了解到短信是否可达的。
从我这侧能想到的办法:
一方面是和第三方平台确认好可达性及出现问题时及时解决问题的运营维护能力,同时如果能获取到第三方平台的监控到达日志就最好了,毕竟是商用的,产品稳定性的口碑本就是最重要的。
另一方面,从我们的角度来看,可以监控用户“获取验证码”与“登录”(或其他输入验证码后的进一步操作)两个事件的间隔时间,通过一定的逻辑判断(例如判断X时间段内有N个用户两个事件时间间隔大于Y分钟),作为告警和智能切换备用短信平台的依据。
但仔细分析起来,第一种方法依然是把问题扔给第三方平台,我们这侧没有实际掌握力,出了问题只能要求第三方平台尽快解决;而第二种方法本身比较被动,包括逻辑判断的度(X,N,Y的值)要怎么拿捏等
那么,有什么更好的办法,更友好的解决方案吗?
请诸位不吝赐教
1
liqinliqin 2015-07-14 23:07:59 +08:00
http://v2ex.com/t/151567#reply36
自己花10分钟建一个, |
2
mornlight 2015-07-14 23:17:08 +08:00
|
3
KPAX OP |
6
KPAX OP @mornlight 好的短信平台接入,我们这边都会了解,并尝试接入测试。
其实我们这边更关注的是自身如何做好监控,不可能永远等于用户反馈出现问题了才处理,非常被动 |
7
hpeng 2015-07-14 23:40:25 +08:00 via Android
其实是有的…我接触过这类项目,有些服务商提供上行接口,那里就有,只不过很乱跟可靠性差,估计也是运营商那边的问题。
|
8
mornlight 2015-07-14 23:48:48 +08:00
@KPAX 我用云片这个,有发送记录,失败了会显示原因。我是个人开发者,推送量比较小,这个完全可以满足要求。不知道你们想达到什么样的监控程度。
|
9
pubby 2015-07-15 00:20:44 +08:00
我们接入云片的,但是不做到达率监控,因为app端有重发按钮,如果用户点击重发,说明用户没收到短信,这时候切换到自己的短信发送网络。
我们主要用在登录短信验证,通道切换逻辑很简单: 如果目标号码是第二次发送(以及此后的半小时内),发往该号码的短信走自己的短信发送服务。 自建的短信发送服务类似 @liqinliqin 做的东西,不过更完善。 服务端用go写的,websocket服务负责连接安卓客户端并维护状态,http服务提供发送、状态报告等api接口 安卓客户端 可以后台运行,对手机进入休眠模式等情况都做了很好处理。 然后准备几个旧安卓机,买几张sim卡,短信包月套餐。 几个放公司,几个放家里,连上wifi就能工作。 |