辞职腾讯去了小公司,从0到1搭建后端架构

来腾讯之前在前公司做了3年的后端开发,经历一款SaaS产品从0到10(还没有到,哈哈哈)的过程,3年间后端的架构逐步演变,在微服务的实践过程中遇到的问题也越来越多,在这里总结下。

产品是一款服务于人力资源的SaaS在线服务,面向HR有WebAndroid/iOS小程序多个客户端,后端采用RESTful风格API来提供服务。主要使用Python语言,方便快速迭代。

架构的演进经历了4个大的阶段:

一、MVC

项目刚开始的时候,后端同事不超过5个,这个阶段主要的工作是实现产品的原型,没有太多的考虑架构,使用Django来快速实现功能,DB的表结构设计好之后,抽象出功能View,由于产品设计也很不完善,后端需要很多的预留设计,避免产品逻辑的变更带来整个表结构的变动,在这个阶段代码上最重要的是确定适合团队的代码规范,代码检查规则。

整体上架构如上图,Nginx负责负载均衡,分发流量到多个Django服务,Django处理逻辑,需要异步任务就交给Celery,然后数据量比较大的地方使用Redis做缓存。同时还有实时消息通知的需要使用了NginxPushModule。

问题与优化方式:

Django并发性能差使用uWSGIMaster+Worker配合gevent携程支持高并发Redis连接数过多使用redis-py自带的连接池来实现连接复用MySQL连接数过多使用djorm-ext-pool(


转载请注明:http://www.aierlanlan.com/rzgz/3579.html

  • 上一篇文章:
  •   
  • 下一篇文章: