app后端设计(11)-- 系统架构

    个人认为,在小型的创业团队中,特别是以应用产品为主,在架构后台的时候,需要集中精力解决自身业务上的问题,不是花时间解决第三方已经解决的问题,简单点来说,就是能用第三方服务就使用第三方的服务。基于这个原则,就有了下面的系统架构:

 

1. apns:由于在apns中,无效的token会导致连接apns连接的失效从而使apns信息丢失。解决的方案是维护发送队列,当apns服务器返回错误的token后,把这个错误token后的消息重发。第三方推送很好了实现了这个技术方案,我们选择了百度云推送。

2. email:要考虑邮件发送失败的重发问题,所以不再在服务器上搭建sendmail服务发送,选择了邮件服务商mailgun。mailgun还提供每个账号每月1万封邮件的免费额度,很适合创业团队。

3. coreseek: 一个基于Sphinx的全文检索引擎。在前面描述的LBS模块中,和检索用户昵称,商铺等搜索功能上需要用到。

4. redis:一个支持多种数据结构的key-value数据库,在LBS模块,性能优化等多个方面都有广泛的用处。

5. httpsqs:轻量级的消息队列。

6. xmpp:采用了开源的openfire,当web服务需要向openfire通讯,有两种情况:

(1)实时的需求,例如注册的时候在聊天服务器注册一个用户,那么是直接连聊天服务器。

(2)如果是其它非实时的需求,例如通过聊天服务器向app发送一个更新通知,那么就在队列中处理。

7. 监控,采用了监控宝和云服务器提供的监控数据,能满足目前的需求了。

 

整个架构如下图:

 



 

[文章作者]曾健生

 [作者邮箱][email protected]

[作者QQ]190678908

 [新浪微博] @newjueqi

 [博客]http://blog.csdn.net/newjueqi

          http://blog.sina.com.cn/h6k65

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。