咕咚APP——综合运动社交平台
咕咚APP致力于打造运动社交综合型平台,目前咕咚APP所涵盖人群包括:跑步、健走、骑行、游泳、滑雪、篮球、足球等多个领域,并为其提供相应功能进行承载。
咕咚APP有稳定的GPS轨迹记录及全面的数据存储,满足运动人群对于个体/群组的社交需求。咕咚APP已经拥有近5000万注册用户,日活人数450万+人,致力于为平台上千万运动爱好者,打造专属的运动功能、社交功能、以及独特的O2O功能。
互联网OLTP模型
缓存(ECS(redis&&twemproxy)+SLB)
队列
经历的阶段:
◆ Redis:单线程,扩展性不强,不支持ack。
◆ RabbitMQ:集群方案常出问题,并且无法获取error log,出问题后很难定位。
◆
阿里云MQ方案:无单点,无瓶颈,可自由扩展,支持重试机制。
数据库(RDS MySQL)
1. 托管的数据库服务。
2. 全方位的基础监控,权限控制。
3. 高可用性,无感知自动切换主备。
4. 弹性升级配置。
5. 相关配套中间件功能强大,比如DRDS,DTS。
海量数据存储方案(PreSharding+DRDS)
对象数据存储(OSS咕咚路线详情数据)
OSS的优势表现在以下几点:
1. 海量扩展性。
2. 高可用性 (可用性不低于99.9% ; 持久性10个9)。
3. 安全性(提供白名单,防盗链,主子账号功能)。
4. 成本低。
5. 团队的快速响应(咕咚提出的对OSS监控的需求,开发到上线非常迅速)。
OSS适合在图片、音视频、日志、数据库备份集&& binlog等场景中应用。那么,咕咚从OSS获得了哪些便利?主要有以下三个方面:
1. 从RDS迁移到OSS成本降低了90%以上。
2. 天然多重副本,不用再考虑灾难备份。
3. 分布式设计,不用再考虑扩展性。
归档数据(OAS)
1. 价格非常便宜,支持断点续传。
2. 单个文件最大支持40TB。
3. 适合用来存储归档数据。
互联网OLAP模型
移动端日志采集
1. 通用的SDK,来代替原有的埋点API,更加稳定。
2. 多维的报表数据。
3. 相关crash信息。
4. 日志数据可统一推到ODPS做进一步的分析处理。
数据仓库(ODPS)
1. 托管的数据仓库方案。
2. 分布式列式数据库模型,强大的计算能力,高压缩比。
3. 支持sql,MapReduce。
4. 无缝抽取分布式RDS数据,集中化数据处理。
本文根据咕咚运动运维负责人李锐在6月29日举办的2016云栖大会·成都峰会上的演讲整理而成。