手心网平台是一个教育社区,包含O2O、社交、视频直播及电子商务等主要业务,面对全国K12及家长和教师用户,通过教育局切入各个学校,以教师为主体用户,结合学生和家长,按照实体行政单位组成班级圈、校圈。平台用户300万,日活最高约5万,并发量约8000。总代码行数约450万。 本人从基层工程师做起,1年半后升为技术总监,我负责整个平台技术架构、产品设计、项目管理和项目开发。包含但不限于: 1. 后端技术采选。主要语言我们选择PHP,上线和维护简单。整体技术架构为Debian+Nginx+Apache+PHP+MySQL+Redis。其中即时聊天功能采用C语言和Redis队列达到高并发的长连接,单机大约连接20万。直播采用Nginx+FFMpeg+RTMP,延迟约3秒。LibAV压缩附件,KVM+Windows Server转码Office文件。搜索引擎选用Sphinx。WEB聊天选用NginxPush。 2. 运行环境搭建与维护。从操作系统搭建至安全优化,再到远程监控维护。所有硬件参数统一,服务高可用。采用了Zabbix+Grafana监控、Ansible自动化、IDRAC硬件管理、Hadoop大数据处理与InfoBright查询,自制动态上线系统。曾经两次托管机房迁移……也均由我负责。 3. 产品设计与项目管理。平台支持APP(Android和IOS)、WEB、WAP、微信小程序和公众号多端浏览。从初期功能设计、UI设计和API设计、文档编写,到中期代码Review和进度监督,最后测试、上线和维护全程掌控。其中Android和小程序部分由我个人维护。4. 代码开发。平台底层开发和优化,其中除去战略调整后的问答社区交由其他人开发之外,比如手心商城、即时聊天、短信平台、支付系统、班级圈、手心活动、学堂直播录播、千校OA系统、答题游戏等等均由我个人维护开发。PHP框架采用CodeIgniter2.0,后被我改为支持NameSpace、增加了Twig的支持、支持完整的命令行等等,主要是参照了Drupal和Laravel框架。