kdt技术架构变迁

庆幸在口袋通亲历了整个项目从幼嫩到成熟的技术架构变迁。目前有一个想法,把这些变迁都记录下来,算是一种解决问题的思路吧。历史久远的有的记不清了,有的记错了。但是最新的都会即时记录下来。

历史:

  • 蝎子使用yaf构建第一版系统;
  • 崔引入mongodb,使用aggregate解决消息表大量数据复杂的查询需求。数据使用rq队列中转到mongo。
  • 由崔和思源开发的iron框架,提供统一的使用yar封装的api,系统由api 和 www两层组成;
  • 为了应对活动流量,崔引入redis作为业务缓存 和 session缓存。
  • 经过各种调研,引入NSQ作为消息队列服务器,目前为止NSQ一直稳稳的运行在服务器上,相当靠谱,主要有小二同学调研,实施,为其卓越的结果鼓掌;与此同时使用的还有rq,在im端担任消息队列服务器。
  • 引入阿里开源的canal,作为数据消息服务队列。监听mysql的binlog日志中的相关消息,把消息分类写到NSQ中,再由各种消费者完成一些业务需求。银行卡入账通知自从迁移到这个上面,整个体系就一直稳定运行。感谢海虹在其中做出的卓越贡献。
  • 曹总把session 迁移到memcache上替代redis。

待更新:

  1. 2014-11-4 晚上线了qihu360开源的atlas,应对双十一购物节前数据压力。atlas解决了db 流量和请求数的负载均衡,读写分离。主要由小黑负责实施,耗时两日。遗憾的是目前还遗留单台db连接数量巨大的问题。
  2. 2014-11-6 同样为了支撑双十一的流量压力,于六日晚上上线了阿里开源的cobar作为分库分表的中间件,将message,fans,attachment等大表迁移出主库。主要由小黑,小木负责集群搭建,压力测试,数据迁移,耗时七日。七日之中,小黑多次加班至深夜,为双十一线上服务的稳定运行打下坚固的基石。
Comments
Write a Comment