项目总结(二)数据应用系统
数据应用系统:
每天从商城的大量业务系统中实时的采集过来各种业务数据;
接着存储在自己的数据中心里;
然后实时的运算大量SQL来生成各种数据报表;
最后就可以提供这些数据报表给运营人员来分析。
系统架构:
开发流程:
整个链条中,埋点采集、数据存储、模型设计由其他部门完成,我们部门如图后端负责数据提取和计算,前端负责查询报表开发。
后端围绕数据平台mysql数据库,使用sql/hive计算从数据平台中心提取实时和离线数据。将结果数据存入mysql中之后,使用java/php为前端封装可以调用的查询数据和权限控制接口。前端根据接口返回,控制报表页面的展示,维护供运营人员使用的web站点。
在这个过程中,后端常分为数据处理和接口封装两个需求,由接口封装人员与前端对接。导致一个产品报表需求,需要一位产品经理和三个开发人员的参与,业务逻辑和接口定义的沟通成本无法降低。
如引入Nodejs服务,接口封装交由前端完成,一个产品需求,可由两位开发人员完成。减掉了接口定义的沟通过程,产品经理业务逻辑对接压力也减轻了。前端对于数据控制的加强,更便于技术的沉淀和业务的理解,从而提高效率。
nodejs全栈:
核心流程:
定期使用爬虫从外部站点爬取数据
线下整理、计算、校验之后存入mysql数据表
根据前端页面的筛选条件调用查询接口
提供这些数据报表给运营人员来分析
系统架构:
Nginx做反向代理,可配置负载均衡;
pm2管理Node.js应用进程;
连接使用mysql数据库;
redis缓存服务器保存回话session等;