app后端设计(3)--短信,邮件,推送服务(2014.12.05更新)
在app的后端设计中,免不了消息的推送,短信,邮件等服务,下面就个人的开发经验谈谈这方面。
(1)最重要的是,各种推送一定要放在队列系统中处理,不然会严重影响api的响应时间。
(2)短信方面
以前我们是用亿美软通的短信服务,但在三大运营商收紧了短信服务后,亿美软通的短信延迟非常厉害,后来我们找到了这家短信服务商 http://luosimao.com,这家发送短信到联通,电信,移动手机很快就到了(直到2014.01.24)。
如果发送到移动的短信还没有改善,最后的后备方案:发送到联通,电信的短信使用国内的服务商,发送到移动的短信就只能使用国外的短信服务商(国外发短信到移动手机3毛一条,好贵啊!!!)
注:现在sharesdk提供了免费的短信验证码服务(http://mob.com/sms),试运营期间为开发者提供每个App每天10000条免费短信验证。
(3)邮件
在一开始时使用服务器自身的postfix发送邮件的,但我们发现邮件被很多邮件服务商当成垃圾邮件了,而且没有重发机制,不能保证邮件的准确到达。
后来查了一下各大网站,发现知乎和github 都是使用http://www.mailgun.com/ 的邮件服务,看了一下文档,价格很公道,而且每月有1万封的免费邮件额度,非常适合创业型的公司。
(4)推送服务
在这方面,我考虑的重点是:在创业初期,能用第三方就尽可能多使用第三方的服务,自身只处理业务逻辑本身,快速的开发产品。
android篇:
android方面,我们使用过3种消息推送机制:
1.极光推送,现在放弃了。我们使用的过程中,发现极光的机制有点古怪,一般来说,一个app在极光服务器中是固定一个id,但在极光中是通过广播来通知app这个id,而且在文档中居然说明这个id会不定期变化。
2.openfire服务器。app通过连接openfire服务器来获取各种消息,但是openfire有个机制,当app连接openfire后空闲就自动断开,没法保持连接的的稳定性,而修改这个openfire的机制成本太高了,后来也放弃使用openfire。
3.百度推送。已现在使用一段时间的情况来说,推送及时快速,挺满意百度的推送服务。
iphone篇:
apns是iphone推送的不二选择。但如果自身开发apns的服务,会遇到无效token而需要重发,这样需要维护一个队列并建立重发机制,考虑到项目的时间和研发成本,最后也是使用了百度推送的服务。
当用户在iphone上卸载了app后,device token会失效,所以应该定期访问苹果的feedback服务器,把无效的token去掉。
app后端系列文章总目录
///
修改记录:
2014.01.24:短信服务提供商现在3大运营商很快就收到了。
2014.12.05:增加了sharesdk的免费短信验证码信息
如果您觉得这系列的文章对你有所帮助,欢迎打赏。
支付宝账号:190678908@qq.com 收款人:曾健生
[文章作者]曾健生
[作者邮箱]h6k65@126.com
[作者QQ]190678908
[新浪微博] @newjueqi
[博客]http://blog.csdn.net/newjueqi
http://blog.sina.com.cn/h6k65
app后端设计(3)--短信,邮件,推送服务(2014.12.05更新)相关推荐
- springboot开发基于阿里云的短信服务、邮件推送服务
短信服务以及邮件推送服务使用的都是阿里云的产品,短信服务是收费的,所以需要选择短信服务的套餐并预充值才能使用.邮件推送服务是有200条的免费额度. 一:短信服务 1.申请短信签名.短信模板 到阿里云的 ...
- 【免费的短信推送API】【MobTech】【Android】手机短信验证码推送
前言 作业需要用到:短信验证码推送(用于注册).了解到一个免费的手机短信推送平台,就去官网看了看相关API怎么用. http://www.mob.com/wiki/detailed?wiki=SMSS ...
- python 阿里云短信群发推送
python 阿里云短信群发推送 本篇文章是使用Python的Web框架Django提供发送短信接口供前端调用,Python版本2.7 阿里云入驻.申请短信服务.创建应用和模板等步骤请参考:阿里云短信 ...
- HTTP长连接和短连接以及推送服务原理(转)
HTTP长连接和短连接以及推送服务原理 转自:http://blog.csdn.net/freewaywalker/article/details/50067757 HTTP长连接和短连接1 1. H ...
- 使用阿里云邮件推送服务架设自己邮件验证与推送体系
提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com ...
- 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题
在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单.. ...
- 阿里云-邮件推送 java 代码 ,测试邮件推送服务,阿里云邮件推送,java
阿里云-邮件推送Java 测试代码 1.阿里云-邮件推送 配置 购买域名 配置域名 2.创建 Access Key 2.1登录 Access Key 管理控制台. 2.2单击页面右上角按钮 创建 Ac ...
- wordpress使用阿里云邮件推送服务实现发送邮件
之前用腾迅云时,配置了wordpress是可以使用邮件服务的,然而到了阿里云,却无法使用了,有人说是因为阿里云关了25端口,但腾迅好像也关了. 百度看看有没有其他方法,最终让我找到个方法,可惜不是很完 ...
- PHPCMS 邮件发送 - 使用阿里云邮件推送服务的详细设置
自从阿里云和腾讯云相继默认封闭了云主机的25端口(可申请解封) 我就使用了阿里云的邮件推送服务,感觉很是好用.把我使用PHPCMS做的网站的邮件发送也设置成了使用了阿里云的邮件推送. 我使用的邮箱是阿 ...
最新文章
- element ui只输入数字校验
- JAVA那点破事!并发、IO模型、集合、线程池、死锁、非阻塞、AQS....
- python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)
- Archlinux里面安装VMware Tools
- 在Eclipse中制作SSH配置文件提示插件
- 统计学习方法|朴素贝叶斯原理剖析及实现
- php的内存划分,解析PHP中的内存管理,PHP动态分配和释放内存
- python3精要(4)-python数字与表达式1
- 自定义标签报 无法为TAG [my2:hello]加载标记处理程序类[null]
- [单反八]人像三平原则
- AD20学习笔记3---PCB封装库的创建方法及现有封装调用
- 这是波士顿动力机器狗「他爸」?美军80年代机器狗「考古」,身高3米,人机联合操作...
- AI岗位秋招纪实:算法原理扎实才是王道,而不是调参
- css3新增特性集合贴
- python反向代理服务器_主机、服务器,代理服务器,反向代理服务器理解(自用)...
- 电源过冲怎么测试软件,【经验】以DL3000电子负载为例,3分钟学会一个电源动态响应测试技巧...
- 《郭论—捡史》郭德纲/著 读后得
- 云栖干货回顾 | 行业顶级NoSQL成员坐阵,NoSQL数据库专场重点解析!
- 高项_第九章人力资源管理
- laravel中提供DB facade(原始查找)、查询构造器、Eloquent ORM三种操作数据库方式
热门文章
- 数商云采购系统对账结算功能介绍 | 缩短汽配企业结算周期,提高资金周转效率
- OpenCV stereo matching 代码 matlab实现视差显示
- mysql 查找附近的人_一口气说出4种“附近的人”实现方式,面试官笑了
- 关闭打印机和无线服务器,打印机无线连接断开了怎么办?
- Linux 主机巡检脚本(包含 k8s)
- Java 百度地图 根据经纬度(坐标) 获取乡镇
- 理解矩阵和特征向量的本质
- 数字孪生 智慧工厂可视化决策系统
- 通过“microbenchmark”解谜GPU的微架构
- 一个实践梦想的传奇人物