大数据平台
基于Hadoop、Spark、Hive、Drools、Zookeeper等实现大数据分析、规则过滤、信用评分等,根据实际业务场景,实现延迟、实时数据分析,为场景业务提供底层数据依托。
流量网关
过滤转发Nginx反向代理请求,基于oAuth、Spring-Security、IP来源、访问端口等过滤器、拦截器,剔除无权限、未认证、资源错误等不合理请求,减轻后端业务负载,提高处理能力。
运维监控
基于Ansible实现服务器批量操作,基于ELK(ElasticSearch、Logstash、Kibana)、Syslog-NG收集所有日志,实时分析。基于Zabbix监控所有服务器Memory、CPU、Disk、Swap、API,设定报警阈值,触发立刻发送短信、邮件报警,通知运维、开发人员,保证服务可用性达到99.99%。独立分布式文件系统,重要数据、文件按小时、按天备份。
自动发布
通过Gitlab+Shell,达到工程、分支、服务器、环境的任意组合,随时随地进行发布、回滚。
中间件
缓存、消息队列、ZK等中间件,采用集群模式部署,保证服务的稳定、健壮。
负载均衡
所有流量统一经过Nginx做7层负载分发,实现动静分离,静态资源基于文件系统做域名映射,必要时可通过CDN做加速,动态API通过Nginx做反向代理,为PC、APP、H5提供接口调用,所有API集群部署,屏蔽单点故障。Nginx通过虚拟VIP实现双机热备,保证高可用。若业务并发量高,可随时切换到LVS,基于4层进行负载。
代码管理
基于Gitlab实现版本管理,实际开发中,每一次版本升级,新建分支并行开发。每一次代码提交,按照规定格式填写备注,使得每一次提交都有迹可循。
集成测试
基于Jenkins,所有工程配置自动化集成,不断对代码编译测试,保证工程的稳定。
数据库
结合业务特点和流量评估,可采用MySQL主从/主主/集群等方式。