美柚:最懂女性App背后的混合云架构与大数据服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美柚:最懂女性App背后的混合云架构与大数据服务相关的知识,希望对你有一定的参考价值。

免费开通大数据服务:https://www.aliyun.com/product/odps

直播视频:
技术分享
(点击图片查看视频)
 

 

3月25日云栖社区在线实时分享顺利结束,本次美柚带来的分享包括如何充分利用现有机房服务器资源与阿里云产品组建混合云架构,实现快速部署与大数据的处理与计算服务。同时也详细介绍了美柚在多维度用户数据分析处理和大数据智能挖掘技术的实践经验。本次视频直播的整理文章、视频、幻灯片整理完毕,如下内容。

 

混合云
 
技术分享
图一美柚混合云
 
在2013年美柚成立之初,行业内云生态圈并不是十分完善。因此,最初的架构采用自建机房的传统开发方式,至今为止,托管机房内服务器数量达300台之多;同时,为了迎合大数据发展的趋势,美柚也搭建了自己的Hadoop、Spark、Storm、Kylin等对应的大数据处理平台;在数据库方面,采用mysql、MogoDB、Redis、CounchBase等主流数据库。在2014年,接触阿里云之后,逐渐采用阿里云的产品,从最开始接触公测的ADS到现在使用的ECS、MaxCompute、RDS、分析型数据库、TAE、阿里云云盾等等,目前美柚形成了混合云的模式,既有一定规模的托管机房,也积极的使用阿里云的产品。
 
技术分享
图二 服务分布
 
云上设施和云下设施分工各不相同。因为最初的架构是在托管机房上建立的,所以现在主要的App接口、社区、广告系统、用户中心、柚币中心以及包括App和社区的运营后台都部署在托管机房;同时搜索、推送、实时监控、反垃圾等最初建立起的基础服务也是部署在托管机房里面的;此外,托管机房内也有一些如Spark、Hadoop等大数据处理平台,但集群规模相对较小。
美柚的整个官网全部部署在阿里云上,同时美柚电商柚子街也是基于阿里云建立的,包括整个电商平台和运营后台、招商系统。此外,还基于阿里云搭建了BI系统。最后,为了缓解自建大数据集群的规模较小的情况,积极采用阿里云大数据平台对数据进行分析和处理计算。
 
混合云之间的数据交互
 
技术分享
图三 混合云之间的数据交互
 
上图是托管机房和阿里云之间的数据流通情况,可以看到每天会有一部分数据包括业务日志、数据库的增量数据会从托管机房流向阿里云。数据流向阿里云的ODPS后,在ODPS内进行一些数据计算和算法模型的训练。然后再将计算的结果导入ADS和RDS中,其中导入的ADS支持BI系统,并且ADS能够多值列查询和毫秒级的实时响应,有利于生成BI报表;另一部分数据存入RDS中,不仅降低了存储成本,同时也提高了数据的安全性。经阿里云计算和处理后,部分数据还需要回流到托管机房的数据库和数仓内,回流的目的是因为现在还有一些比较重要的服务还在托管机房内部署,并且从机房调用可以极好的缩短调用的延迟。每日从自建机房流向阿里云的数据量相当大,对于一些重要的数据如用户数据,在自有机房和阿里云上进行了双活,首先从业务数据库先同步到自建机房的HBase集群中做一个备份,然后在阿里云上也做了一个备份,这些数据以一小时为间隔进行同步,以此确保重要数据的安全。
从机房到阿里云上采用逐类更新的方式,准实时的数据依旧在托管机房处理;对一些大数据计算和实时性要求不是很高的数据将其流向阿里云,借助阿里云超强的计算能力和超大的集群规模进行计算处理,同时这些数据会在T+1日进行更新。
 
API实时监控
 
技术分享
图四 API实时监控
 
随着美柚不断发展,系统逐渐受到一些恶意攻击,包括恶意抓取、DDoS攻击等,因此API实时监控显得不可或缺。目前通过使用阿里云盾DDoS高防IP,有效地抵御部分网络攻击,并可以进行流量清洗和分析。在此基础上,美柚还自主研发了API实时监控系统,监控系统的数据是来自托管机房的实时处理计算平台,通过监控系统可以实时观察服务端响应时间、处理数目以及各个接口的调用分布。通过全链路实时监控服务质量,保障用户极致体验。同时作为一个移动互联网公司,美柚将API实时监控从传统的服务部署转向移动化,在移动端android/ios进行实时业务监控与预警,使得开发和运维在任一地点任意时间都能对实时业务了如指掌,可以第一时间发现问题所在。
 
大数据智能挖掘
 
技术分享
图五 大数据助力社区电商生态
 
上图是美柚大数据智能挖掘的大致框架,作为一个社区电商一体化的公司,美柚利用大数据挖掘打通整个生态系统。以用户为中心,通过对用户的深入分析,形成用户画像,深入理解用户需求,个性化的改造社区使其更有温度、更具黏性。同时基于对用户的理解,使得社群电商能够进行精准化的推荐,深入了解用户的需求。基于对女性用户的理解,对用户做了多维度的划分,品牌商和广告主精准的投放广告,可得到更高的收益。
美柚采用两套系统存储用户数据,在阿里云上,用户数据主要存放在ADS上,将用户特征存放在ADS的多值列中;在自建机房内,采用Kylin中的Cube来存放用户的基础维度的特征,便于快速的查询。
 
多维度用户数据
 
美柚BI系统显示其用户遍布全国各地,包含港澳台,用户年龄段从70前到00后均有,其中95后居多,用户身份有少女、备孕、怀孕、辣妈,形成了完整的女性生态系统。
技术分享
图六 多维度用户数据
 
美柚基于女性生态系统,形成大量的多维度的女性相关数据。用户的经期、体重、体温、孕期日志记录数据,加上社区内收集的用户的浏览、发帖、回复等数据,同时再结合用户的婚姻、年龄、星座身份、手机设备等基础信息,还有一些社交媒体上抓取的重合数据,补充完整一个用户全部数据。基于上述完整的数据,形成用户画像,深入洞察与服务女性,做最懂女性的App。
 
技术分享
图七 用户记录分析
 
上图是具体的用户记录分析。最左边是用户的好习惯,通过用户在App上记录的好习惯,建立任务系统,鼓励用户继续将好习惯保持;中间图表记录了女性不舒服的状态,上面有很多选项,同时用户也可以自定义自已的情况,通过对图表的的跟踪,可以对女性的健康状态进行分析;右边的图表显示了一些私密信息,做到个性化定制,满足不同需求。目前美柚月活跃用户中使用记录的占比达到84.8%,通过数据分析可以帮助宝妈们科学备孕,关爱女性健康。
 
技术分享
图八 多维度用户标签
 
通过对女性在生态系统的分析,制定多维度的用户标签。其中基础属性标签包括女性的年龄、婚姻、身份、星座等。行业标签是基于对用户行为的分析和第三方数据的补充形成的;兴趣标签,可以帮助理解用户在社区和电商平台行为记录。目前美柚总共具有200多类用户标签,通过这些标签可以形成非常丰富的用户画像。
 
大数据应用
 
技术分享
图九 产品地图
 
上图是大数据产品地图,图中包含了美柚利用大数据衍生的产品。其中已上线的BI系统,是通过大数据分析形成的报表类,它能够加深对系统的理解和辅助下一步业务决策的进行;另一个是反垃圾算法,通过大数据算法对一些垃圾广告智能识别、处理。还有实时业务监控、首页推荐、个性化推送、个性化搜索等功能。同时情感分析、舆情监控、关联推荐、SSP、DMP、Ad Exchange等功能还在开发中。
 
技术分享
图十 反垃圾算法
 
这张图展示了美柚利用大数据进行反垃圾算法的整体框架,主要包含两部分。虚线上方是反垃圾算法的训练流程,最开始是基于NLP自然语言处理进行,首先对文本数据(垃圾贴和正常贴)进行分词,这些分词需要定期更新,然后再对帖子进行特征处理和选取,将提取之后的特征送入分类器模型训练,其中分类器包括贝叶斯分类、逻辑回归分类等,通过训练输出分类模型的结果。这些训练最初是在自有机房进行的,后来随着数据量的增加,已将部分模型训练迁移到阿里云上。
虚线下方是机房内实时计算的处理流程,用户发帖和回复之后,将其写入Kafka消息队列,首先会对白名单用户过滤,然后一是依据分类模型的训练效果,对文本进行识别和分类,对垃圾帖和非垃圾帖进行判别;另外的方式就是通过Simhash算法对文本相似对度进行计算,进行相似贴统计,最后通过这些策略汇总,生成整个反垃圾算法。近期美柚对该算法又做了进一步的迭代,对用户的昵称、发帖时间间隔、发帖行为进行分析,更好地进行了预防垃圾帖。
 
通过阿里云提供的丰富的开发套件和算法库,大大缩短了美柚从想法到产品的时间。
 
QA环节:
 
1、美柚目前采用的是混合云架构,未来有可能将全部架构迁移到阿里云上吗?
答:美柚采用混合云的一个原因是因为公司在13年就已经发展起来,自有机房已经具有一定的规模,由于阿里云的高性能、高计算,才采取了混合云的架构。短时间内,依旧会保持混合云的架构,一方面是希望技术团队继续发展大数据计算的能力,另外一方面是否全面迁移到阿里云上,还是根据以后的业务发展做决定。
 
2、美柚上面的帖子可能会有亿万的浏览量,美柚App是如何应对如此之大的阅读量的?
答:在提升移动端体验做了很多的事情,移动端对延迟非常敏感,首先在客户端做了很多优化,在缓存和页面加载上都追求极致;其次,参照阿里的手淘,搭建了HTTP DNS,防止运营商劫持,同时也能缩短DNS的解析时间,在服务端也进行了很多优化,对数据层进行分离,使用高效的缓存。
 
3、美柚有多少专职运维人员?
答:美柚目前专职运维人员只有三个,借助于目前的混合云架构,通过阿里云的运维监控、运维报警等机制,使得运维人员在自建机房和云上运维游刃有余。
 
4、美柚目前的美柚女生助手、柚宝宝孕育等五个App在架构有什么区别?
答:最开始研发的几个App的接口都是放在自建机房的,去年新上线的电商App是完全搭建在阿里云上的。
 
5、美柚如何处理高并发的场景?
答:以社区为例,每天的发帖回复量都是很大,每天晚上的九点到十一点是一个访问高峰。为了应对高并发场景,在服务端,进行了很多分层和模块化的设计,比如将数据层和业务层进行分离;在开发语言的选择上,使用轻量级语言php在社区做一些业务级别的实现;复杂的、异步、延迟比较大的处理下沉,用Java和C++进行实现。
 
6、Node.js在美柚的使用场景?
答:Node.js用的相对较少,主要用于前端和后端的分离,去年年底才开始使用,目前还处于尝试阶段。
 
关于分享者
 
黄益聪 美柚技术总监
 
美柚通过社区+工具+电商为广大女性提供一站式综合服务,满足女性群体交流沟通、知识获取、购物三大需求。《互联网周刊》发布2015年度APP分类排行榜,美柚位居女性APP第一位。同年12月,在清科集团、投资界主办的2015中国最具投资价值企业50强评选中,美柚凭借在女性市场的卓越表现从3000多家报名企业中脱颖而出,获评“2015中国最具投资价值企业50强”,截止到2015年7月,美柚用户超过1亿,日活跃用户500万。

相关系列文章:

以上是关于美柚:最懂女性App背后的混合云架构与大数据服务的主要内容,如果未能解决你的问题,请参考以下文章

架构设计中的6种常见安全误区

数字澳洋背后的用友云混合云架构支撑

数据科学与大数据技术专业 —— 云计算●虚拟化 课程 期末复习卷及其简答

数据科学与大数据技术专业 —— 云计算●虚拟化 课程 期末复习卷及其简答

云计算与大数据介绍(非原创)

准备与大数据相关的设计和架构问题的最佳方法[关闭]