在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更新)相关推荐

  1. springboot开发基于阿里云的短信服务、邮件推送服务

    短信服务以及邮件推送服务使用的都是阿里云的产品,短信服务是收费的,所以需要选择短信服务的套餐并预充值才能使用.邮件推送服务是有200条的免费额度. 一:短信服务 1.申请短信签名.短信模板 到阿里云的 ...

  2. 【免费的短信推送API】【MobTech】【Android】手机短信验证码推送

    前言 作业需要用到:短信验证码推送(用于注册).了解到一个免费的手机短信推送平台,就去官网看了看相关API怎么用. http://www.mob.com/wiki/detailed?wiki=SMSS ...

  3. python 阿里云短信群发推送

    python 阿里云短信群发推送 本篇文章是使用Python的Web框架Django提供发送短信接口供前端调用,Python版本2.7 阿里云入驻.申请短信服务.创建应用和模板等步骤请参考:阿里云短信 ...

  4. HTTP长连接和短连接以及推送服务原理(转)

    HTTP长连接和短连接以及推送服务原理 转自:http://blog.csdn.net/freewaywalker/article/details/50067757 HTTP长连接和短连接1 1. H ...

  5. 使用阿里云邮件推送服务架设自己邮件验证与推送体系

    提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com ...

  6. 解决.NET Core中MailKit无法使用阿里云邮件推送服务的问题

    在博问中(.net core怎么实现邮件发送)知道了MailKit无法使用阿里云邮件推送服务发送邮件的问题,自已实测也遇到同样的问题,而用自己搭建的邮件服务器没这个问题. 于是,向阿里云提交了工单.. ...

  7. 阿里云-邮件推送 java 代码 ,测试邮件推送服务,阿里云邮件推送,java

    阿里云-邮件推送Java 测试代码 1.阿里云-邮件推送 配置 购买域名 配置域名 2.创建 Access Key 2.1登录 Access Key 管理控制台. 2.2单击页面右上角按钮 创建 Ac ...

  8. wordpress使用阿里云邮件推送服务实现发送邮件

    之前用腾迅云时,配置了wordpress是可以使用邮件服务的,然而到了阿里云,却无法使用了,有人说是因为阿里云关了25端口,但腾迅好像也关了. 百度看看有没有其他方法,最终让我找到个方法,可惜不是很完 ...

  9. PHPCMS 邮件发送 - 使用阿里云邮件推送服务的详细设置

    自从阿里云和腾讯云相继默认封闭了云主机的25端口(可申请解封) 我就使用了阿里云的邮件推送服务,感觉很是好用.把我使用PHPCMS做的网站的邮件发送也设置成了使用了阿里云的邮件推送. 我使用的邮箱是阿 ...

最新文章

  1. element ui只输入数字校验
  2. JAVA那点破事!并发、IO模型、集合、线程池、死锁、非阻塞、AQS....
  3. python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)
  4. Archlinux里面安装VMware Tools
  5. 在Eclipse中制作SSH配置文件提示插件
  6. 统计学习方法|朴素贝叶斯原理剖析及实现
  7. php的内存划分,解析PHP中的内存管理,PHP动态分配和释放内存
  8. python3精要(4)-python数字与表达式1
  9. 自定义标签报 无法为TAG [my2:hello]加载标记处理程序类[null]
  10. [单反八]人像三平原则
  11. AD20学习笔记3---PCB封装库的创建方法及现有封装调用
  12. 这是波士顿动力机器狗「他爸」?美军80年代机器狗「考古」,身高3米,人机联合操作...
  13. AI岗位秋招纪实:算法原理扎实才是王道,而不是调参
  14. css3新增特性集合贴
  15. python反向代理服务器_主机、服务器,代理服务器,反向代理服务器理解(自用)...
  16. 电源过冲怎么测试软件,【经验】以DL3000电子负载为例,3分钟学会一个电源动态响应测试技巧...
  17. 《郭论—捡史》郭德纲/著 读后得
  18. 云栖干货回顾 | 行业顶级NoSQL成员坐阵,NoSQL数据库专场重点解析!
  19. 高项_第九章人力资源管理
  20. laravel中提供DB facade(原始查找)、查询构造器、Eloquent ORM三种操作数据库方式

热门文章

  1. 数商云采购系统对账结算功能介绍 | 缩短汽配企业结算周期,提高资金周转效率
  2. OpenCV stereo matching 代码 matlab实现视差显示
  3. mysql 查找附近的人_一口气说出4种“附近的人”实现方式,面试官笑了
  4. 关闭打印机和无线服务器,打印机无线连接断开了怎么办?
  5. Linux 主机巡检脚本(包含 k8s)
  6. Java 百度地图 根据经纬度(坐标) 获取乡镇
  7. 理解矩阵和特征向量的本质
  8. 数字孪生 智慧工厂可视化决策系统
  9. 通过“microbenchmark”解谜GPU的微架构
  10. 一个实践梦想的传奇人物