技术
亚太地区
企业/公共部门
"新浪微博通过使用函数计算处理图片文件,持续节省成本。我们不再需要预留大量闲置机器资源来应对高峰时段的流量激增。工程师无需在基础设施管理上浪费时间,如监控服务器状态,而是可以专注于与产品团队合作,提升业务价值。"
关于新浪微博
新浪微博是一个社交媒体平台,致力于帮助用户建立更紧密的联系。它提供了一种简单而前所未有的方式,让用户能够实时发帖。用户可以通过具有传播力和信息价值的内容彼此互动,与全球用户建立连接。
挑战
"飞红包"、元旦和春晚等活动每年都会给新浪微博带来网络流量处理的巨大挑战。这些活动的特点是突发性的流量高峰,每次高峰持续约3小时。名人活动和"飞红包"等活动往往会引发远超平常的流量峰值。
为应对大规模流量峰值,新浪微博采用了两种方法来确保活动的可用性。第一种是预留足够的冗余服务器,另一种是降级非核心的外围服务。虽然这些方法有效,但存在多个缺点。例如,新浪微博需要提前估算相关IT成本,手动处理不均衡的服务负载,并进行复杂且耗时的实时容量扩缩容。
此外,新浪微博还面临日常流量不均衡的问题。例如工作日午后在线用户数量较少,访问请求也相对稳定且较少;而到了晚间,大量用户在通勤途中浏览和发布帖子,访问请求随之激增。正是这种周期性消费规律,使新浪微博出现高峰和低峰时段,高峰时段的网络流量负载可达低峰时段的5倍以上。
为什么选择阿里云
为应对流量激增的挑战,新浪微博决定采用基于公有云的无服务器架构解决方案。
阿里云函数计算是阿里云提供的无服务器计算平台,可根据访问请求数量动态分配执行环境。该平台能在毫秒内调度计算资源,确保高峰时段延迟稳定、低峰时段资源利用率高。仅函数调用期间使用的计算资源产生费用。此外,函数计算可与对象存储OSS无缝集成,实时处理存储在OSS中的图片文件。
函数计算具备弹性伸缩、事件触发函数和按量付费等特点,完全满足新浪微博的需求。因此,新浪微博决定使用函数计算进行图片文件处理。
新浪微博将用户上传的图片文件存储在阿里云对象存储OSS中,并编写函数进行自定义图片处理。当新浪微博用户通过客户端请求访问图片时,访问请求通过阿里云CDN发送到函数计算。随后,相关函数从OSS下载源图片,根据客户端类型处理图片,再将处理后的图片返回给用户。
架构
函数计算能在毫秒内计算所需计算资源的数量,确保应用即使在流量高峰期间也能保持稳定延迟。无论发起多少访问请求,该解决方案都不会影响用户体验。
新浪微博通过使用函数计算处理图片文件,持续节省成本。我们不再需要预留大量闲置服务器来应对高峰时段的流量激增。工程师无需在基础设施管理上浪费时间,如监控服务器状态,而是可以专注于与产品团队合作,提升业务价值。
展望未来
近年来新浪微博的活跃用户持续增长。到2019年底,函数计算每天已处理数十亿条来自新浪微博的访问请求。随着业务的快速增长,新浪微博将继续利用函数计算通过弹性伸缩分配更多执行环境。
精选
产品
产品
