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

简介: 本次美柚带来的分享包括如何充分利用现有机房服务器资源与阿里云产品组建混合云架构,实现快速部署与大数据的处理与计算服务。同时也详细介绍了美柚在多维度用户数据分析处理和大数据智能挖掘技术的实践经验。

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

直播视频:
dfed582b166ce5232213a035052465f36c7cf64b
(点击图片查看视频)



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


混合云

2dae422850860cfa99a5f3f35ff21287fd7442d2
图一美柚混合云

在2013年美柚成立之初,行业内云生态圈并不是十分完善。因此,最初的架构采用自建机房的传统开发方式,至今为止,托管机房内服务器数量达300台之多;同时,为了迎合大数据发展的趋势,美柚也搭建了自己的Hadoop、Spark、Storm、Kylin等对应的大数据处理平台;在数据库方面,采用MySQL、MogoDB、Redis、CounchBase等主流数据库。在2014年,接触阿里云之后,逐渐采用阿里云的产品,从最开始接触公测的ADS到现在使用的ECS、MaxCompute、RDS、分析型数据库、TAE、阿里云云盾等等,目前美柚形成了混合云的模式,既有一定规模的托管机房,也积极的使用阿里云的产品。

72dd323a4b81997237d5add6d3062e5113eae749
图二 服务分布

云上设施和云下设施分工各不相同。因为最初的架构是在托管机房上建立的,所以现在主要的App接口、社区、广告系统、用户中心、柚币中心以及包括App和社区的运营后台都部署在托管机房;同时搜索、推送、实时监控、反垃圾等最初建立起的基础服务也是部署在托管机房里面的;此外,托管机房内也有一些如Spark、Hadoop等大数据处理平台,但集群规模相对较小。
美柚的整个官网全部部署在阿里云上,同时美柚电商柚子街也是基于阿里云建立的,包括整个电商平台和运营后台、招商系统。此外,还基于阿里云搭建了BI系统。最后,为了缓解自建大数据集群的规模较小的情况,积极采用阿里云大数据平台对数据进行分析和处理计算。

混合云之间的数据交互

a8b699925f9f58b8ae355fd04ef81975068bc058
图三 混合云之间的数据交互

上图是托管机房和阿里云之间的数据流通情况,可以看到每天会有一部分数据包括业务日志、数据库的增量数据会从托管机房流向阿里云。数据流向阿里云的ODPS后,在ODPS内进行一些数据计算和算法模型的训练。然后再将计算的结果导入ADS和RDS中,其中导入的ADS支持BI系统,并且ADS能够多值列查询和毫秒级的实时响应,有利于生成BI报表;另一部分数据存入RDS中,不仅降低了存储成本,同时也提高了数据的安全性。经阿里云计算和处理后,部分数据还需要回流到托管机房的数据库和数仓内,回流的目的是因为现在还有一些比较重要的服务还在托管机房内部署,并且从机房调用可以极好的缩短调用的延迟。每日从自建机房流向阿里云的数据量相当大,对于一些重要的数据如用户数据,在自有机房和阿里云上进行了双活,首先从业务数据库先同步到自建机房的HBase集群中做一个备份,然后在阿里云上也做了一个备份,这些数据以一小时为间隔进行同步,以此确保重要数据的安全。
从机房到阿里云上采用逐类更新的方式,准实时的数据依旧在托管机房处理;对一些大数据计算和实时性要求不是很高的数据将其流向阿里云,借助阿里云超强的计算能力和超大的集群规模进行计算处理,同时这些数据会在T+1日进行更新。

API实时监控

5f70f2a750fae45bd17f3ed269281f56de59c632
图四 API实时监控

随着美柚不断发展,系统逐渐受到一些恶意攻击,包括恶意抓取、DDoS攻击等,因此API实时监控显得不可或缺。目前通过使用阿里云盾DDoS高防IP,有效地抵御部分网络攻击,并可以进行流量清洗和分析。在此基础上,美柚还自主研发了API实时监控系统,监控系统的数据是来自托管机房的实时处理计算平台,通过监控系统可以实时观察服务端响应时间、处理数目以及各个接口的调用分布。通过全链路实时监控服务质量,保障用户极致体验。同时作为一个移动互联网公司,美柚将API实时监控从传统的服务部署转向移动化,在移动端Android/IOS进行实时业务监控与预警,使得开发和运维在任一地点任意时间都能对实时业务了如指掌,可以第一时间发现问题所在。

大数据智能挖掘

687517fe2cca8722ff362434f2ce0e92f3cc2d41
图五 大数据助力社区电商生态

上图是美柚大数据智能挖掘的大致框架,作为一个社区电商一体化的公司,美柚利用大数据挖掘打通整个生态系统。以用户为中心,通过对用户的深入分析,形成用户画像,深入理解用户需求,个性化的改造社区使其更有温度、更具黏性。同时基于对用户的理解,使得社群电商能够进行精准化的推荐,深入了解用户的需求。基于对女性用户的理解,对用户做了多维度的划分,品牌商和广告主精准的投放广告,可得到更高的收益。
美柚采用两套系统存储用户数据,在阿里云上,用户数据主要存放在ADS上,将用户特征存放在ADS的多值列中;在自建机房内,采用Kylin中的Cube来存放用户的基础维度的特征,便于快速的查询。

多维度用户数据

美柚BI系统显示其用户遍布全国各地,包含港澳台,用户年龄段从70前到00后均有,其中95后居多,用户身份有少女、备孕、怀孕、辣妈,形成了完整的女性生态系统。
5a83b9fbde04f3cf5c1a3291eaf8030d17127dd5
图六 多维度用户数据

美柚基于女性生态系统,形成大量的多维度的女性相关数据。用户的经期、体重、体温、孕期日志记录数据,加上社区内收集的用户的浏览、发帖、回复等数据,同时再结合用户的婚姻、年龄、星座身份、手机设备等基础信息,还有一些社交媒体上抓取的重合数据,补充完整一个用户全部数据。基于上述完整的数据,形成用户画像,深入洞察与服务女性,做最懂女性的App。

e765a18b41b6b3f068099e82195af891e9e94c21
图七 用户记录分析

上图是具体的用户记录分析。最左边是用户的好习惯,通过用户在App上记录的好习惯,建立任务系统,鼓励用户继续将好习惯保持;中间图表记录了女性不舒服的状态,上面有很多选项,同时用户也可以自定义自已的情况,通过对图表的的跟踪,可以对女性的健康状态进行分析;右边的图表显示了一些私密信息,做到个性化定制,满足不同需求。目前美柚月活跃用户中使用记录的占比达到84.8%,通过数据分析可以帮助宝妈们科学备孕,关爱女性健康。

37a011aa3a8e01abc36629ad93e782b9b11fc4eb
图八 多维度用户标签

通过对女性在生态系统的分析,制定多维度的用户标签。其中基础属性标签包括女性的年龄、婚姻、身份、星座等。行业标签是基于对用户行为的分析和第三方数据的补充形成的;兴趣标签,可以帮助理解用户在社区和电商平台行为记录。目前美柚总共具有200多类用户标签,通过这些标签可以形成非常丰富的用户画像。

大数据应用

3e1fac210bc15ff0bfbc93842e9675e905a884e5
图九 产品地图

上图是大数据产品地图,图中包含了美柚利用大数据衍生的产品。其中已上线的BI系统,是通过大数据分析形成的报表类,它能够加深对系统的理解和辅助下一步业务决策的进行;另一个是反垃圾算法,通过大数据算法对一些垃圾广告智能识别、处理。还有实时业务监控、首页推荐、个性化推送、个性化搜索等功能。同时情感分析、舆情监控、关联推荐、SSP、DMP、Ad Exchange等功能还在开发中。

87a401d7fdb85d233e37f38ae83bd1758f7e9278
图十 反垃圾算法

这张图展示了美柚利用大数据进行反垃圾算法的整体框架,主要包含两部分。虚线上方是反垃圾算法的训练流程,最开始是基于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万。

相关系列文章:
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
4天前
|
分布式计算 大数据 数据处理
经典大数据处理框架与通用架构对比
【6月更文挑战第15天】本文介绍Apache Beam是谷歌开源的统一数据处理框架,提供可移植API,支持批处理和流处理。与其他架构相比,Lambda和Kappa分别专注于实时和流处理,而Beam在两者之间提供平衡,具备高实时性和数据一致性,但复杂性较高。选择架构应基于业务需求和场景。
13 3
经典大数据处理框架与通用架构对比
|
5天前
|
存储 分布式计算 大数据
数据仓库与数据湖在大数据架构中的角色与应用
在大数据时代,数据仓库和数据湖分别以结构化数据管理和原始数据存储见长,共同助力企业数据分析。数据仓库通过ETL处理支持OLAP查询,适用于历史分析、BI报表和预测分析;而数据湖则存储多样化的原始数据,便于数据探索和实验。随着技术发展,湖仓一体成为趋势,融合两者的优点,如Delta Lake和Hudi,实现数据全生命周期管理。企业应根据自身需求选择合适的数据架构,以释放数据潜力。【6月更文挑战第12天】
26 5
|
2天前
|
存储 前端开发 关系型数据库
在服务的数据驱动中使用三层架构
【6月更文挑战第17天】 三层架构是软件设计中的一种经典模式,将应用分为表示层(UI)、应用层(BLL)和数据层(DAL)。相比于双层架构,三层架构提供了更好的模块化和安全性。多层架构虽少见,但三层架构在现代云原生技术中依然重要,常与微服务结合使用。
17 2
在服务的数据驱动中使用三层架构
|
5天前
|
数据库 SQL 存储
使用合理的架构保障服务的韧性
【6月更文挑战第14天】 该文介绍了软件韧性的概念和目标,强调了主从模式在确保业务连续性中的作用。主从模式通过全同步、半同步和异步技术保证数据一致性和系统可用性。这种模式常用于读写分离,缓解数据库负载,是保障业务韧性的常见策略。
68 0
使用合理的架构保障服务的韧性
|
5天前
|
存储 数据处理 数据库
理解在服务架构中的事件驱动
【6月更文挑战第14天】网络架构和软件设计常基于ISO七层模型和三层应用架构,强调数据处理的重要性。事件驱动架构(EDA)以事件为中心,改变传统设计方式,解决系统问题。事件是触发通知或状态变化的操作,如用户下单。EDA适用于微服务通信、工作流程自动化、SaaS集成和基础设施自动化等场景,提高系统敏捷性和可扩展性。然而,EDA并非万能,需根据需求选择合适的设计方案。
60 1
理解在服务架构中的事件驱动
|
6天前
|
监控 安全 自动驾驶
基于java+单体服务 + 硬件(UWB定位基站、卡牌)技术架构开发的UWB室内定位系统源码 UWB定位技术 超宽带定位 高精度定位系统源码
基于java+单体服务 + 硬件(UWB定位基站、卡牌)技术架构开发的UWB室内定位系统源码 UWB定位技术 超宽带定位 高精度定位系统源码
19 3
|
7天前
|
消息中间件 运维 监控
微服务架构中的服务通信与数据一致性挑战
在微服务架构的海洋中,服务之间的通信和数据一致性问题犹如潜藏的暗礁和漩涡,随时可能威胁到整个应用的健康运行。本文将深入探讨微服务间通信机制的选择、数据一致性维护的策略,以及面对网络延迟和分区容忍性时如何保持系统的灵活性和健壮性。通过分析常见的模式和最佳实践,旨在为开发者提供一套应对这些挑战的航海图。
|
9天前
|
消息中间件 存储 监控
通过将大型应用拆分成一系列小型、独立的服务,微服务架构为后端开发带来了更高的灵活性、可扩展性和可维护性
【6月更文挑战第10天】本文探讨了构建高效微服务架构的后端开发最佳实践。微服务的核心原则是服务独立、去中心化、自治和轻量级通信,优势在于可扩展性、独立性、技术灵活性和团队协作。实践中,应注意服务的拆分粒度,选择合适的通信协议(如RESTful、RPC、消息队列),处理数据一致性与分布式事务,实施服务治理和监控,以及确保安全性与权限控制。未来,微服务将结合服务网格、容器化和云原生技术,持续发展和优化。
15 0
|
10天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之DataWorks是否支持通过SQL方式在MaxCompute中查询数据,并通过数据集成服务将查询结果同步至MySQL数据库
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
12天前
|
缓存 网络协议 算法
微服务架构之从类库到服务之服务发现
服务发现是分布式系统中的核心技术,其实现需要在可用性和一致性之间进行权衡。通过合理设计服务注册中心的架构,并采用有效的健康检查和缓存机制,可以提高系统的可靠性和可用性。不同的服务发现框架各有优缺点,选择适合的框架需要根据具体需求进行权衡和取舍。总之,服务发现的有效实现对于构建可靠的大型分布式系统至关重要。
11 3

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute