《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.1 通用大社交媒体——3.1.1 文字与图像社交(上)

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.1 通用大社交媒体——3.1.1 文字与图像社交(上)

3.1.1.3 图片存储架构

 

3.1.1.3.1 客户痛点


以某图文社交平台为例,自该图文社交平台上线以来,其在线用户数一直处于爆 发式增长的状态。截止2019年中,该平台的月活跃人数几乎可以达到5亿的级别,平 活跃用户数为2亿多。业务的急速增长对该客户的原有技术体系造成了极大的冲 ,例如:

 

1、流量激增:一些已知的业务高峰场景例如:重要节日、重要活动等场景则会 带来巨大的流量挑战,这些业务场景的主要特点是:瞬间峰值高、持续时间短。每一 次峰值事件的互动时间在3小时左右,而明星事件等业务,流量经常会增加至原来几 倍的瞬间峰值


2、流量峰谷差大:  社交媒体与人们生活作息时间紧密相关,  在奔波忙碌的午 后,人们专心工作无暇分享生活,流量请求量平缓;在闲暇安逸的傍晚,人们纷纷掏 出手机查看当日的新鲜事,流量请求量激增。在生活的一朝一夕背后,该图文社交平 台的负载有着明显的波峰波谷,且峰值相差5倍以上。


应对流量激增问题,平台的开发者的传统应对手段,主要通过以下几种方式:


1提前申请足够的设备保证冗余。

2、降级非核心及周边的业务


但以上解决方案需要提前预知相关IT成本,造成业务负载饱和度不一及扩缩容流 程繁琐且周期长等问题。如何在用户量飞速增长、热点事件流量激增及请求有明显波 峰波谷的情况下,既不影响用户体验,又不增加服务器成本投入是该平台开发人员的 务之急。


3.1.1.3.2 解决方案

image.png

公有云Serverless构具有应对爆发式峰值流量的优点。函数计算是阿里云提供 Serverless计算平台,函数计算可以根据请求量动态分配执行环境,毫秒级调度计 算资源,确保在负载高时保持稳定的延时,在负载低时有较高的资源利用率,且只会 对代码运行时使用的计算资源付费。函数计算还可以与对象存储服务无缝集成,可以 方便地对存储在对象存储中的图片进行实时处


该图文社交平台使用函数计算的弹性扩容、事件触发、按量付费的特性部署图片 处理业务,将用户上传的图片存储到对象存储中,编写函数实现个性化的图片处理。 当平台用户通过客户端获取图片时,请求通过阿里云CDN回源到函数计算,函数 对象存储中下载原图,根据客户端类型实时处理成预期规格的图片,并将结果图片返

 

3.1.1.3.3 架构效果


函数计算可以毫秒级伸缩计算资源确保应用在热点事件发生时仍能稳定地运行, 使用户验不受访问次数的影响。


通过函数计算运行图片处理服务,客户实现了持续的成本节省。无需再为平滑处 理业务高峰带来的流量激增而提前预留大量闲置机器资源,同时开发人员无需花费精 力管理及维护基础设施,只需集中精力与产品团队合作提升业务价值。随着社交平台 活跃用户数不断增加,客户的业务规模不断扩张,函数计算可以自动弹性地分配更多 执行环境以支撑社交业务的持续发展。




《云上社交行业技术服务白皮书》——第三章 云上社交典型场景与架构——3.1 通用大社交媒体——3.1.1 文字与图像社交(下) https://developer.aliyun.com/article/1232428?groupCode=supportservice

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
10天前
|
存储 消息中间件 运维
从单体到微服务:架构演进中的技术挑战与解决方案
在软件开发的过程中,系统架构的选择对项目的成功与否起到至关重要的作用。本文将深入探讨从单体架构向微服务架构演进过程中所遇到的技术挑战,并提供相应的解决方案。
33 0
|
5天前
|
消息中间件 传感器 Cloud Native
事件驱动作为分布式异步服务架构
【6月更文挑战第25天】本文介绍事件驱动架构(EDA)是异步分布式设计的关键模式,适用于高扩展性需求。EDA提升服务韧性,支持CQRS、数据通知、开放式接口和事件流处理。然而,其脆弱性包括组件控制、数据交换、逻辑关系复杂性、潜在死循环和高并发挑战。EDA在云原生环境,如Serverless,中尤其适用。
30 2
事件驱动作为分布式异步服务架构
|
6天前
|
监控 API 数据安全/隐私保护
构建高效后端服务:微服务架构的实践与挑战
【6月更文挑战第23天】在现代软件开发中,微服务架构已成为设计高性能、可扩展后端系统的首选模式。本文将深入探讨微服务的设计原则、实践方法及其面临的技术挑战,旨在为开发者提供一个全面的微服务实施指南。
21 3
|
6天前
|
Java 数据库连接 API
“论数据访问层设计技术及其应用”写作框架,系统架构设计师
在信息系统的开发与建设中,分层设计是一种常见的架构设计方法,区分层次的目的是为了实现“高内聚低耦合”的思想。分层设计能有效简化系统复杂性,使设计结构清晰,便于提高复用能力和产品维护能力。一种常见的层次划分模型是将信息系统分为表现层、业务逻辑层和数据访问层。信息系统一般以数据为中心,数据访问层的设计是系统设计中的重要内容。数据访问层需要针对需求,提供对数据源读写的访问接口;在保障性能的前提下,数据访问层应具有良好的封装性、可移植性,以及数据库无关性。
“论数据访问层设计技术及其应用”写作框架,系统架构设计师
|
9天前
|
存储 供应链 安全
区块链技术防止交易被篡改的能力主要依赖于其独特的架构和机制
**区块链技术通过分布式存储、去中心化网络、哈希链接、共识机制及加密算法确保交易防篡改。每个区块含前块哈希,篡改将破坏链式结构;共识机制如PoW、PoS保证交易验证;智能合约增强安全性。多层防护保障数据完整性和安全性,支撑其在多个行业中的应用。**
|
3天前
|
弹性计算 Oracle 关系型数据库
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
|
3天前
|
JSON JavaScript 前端开发
技术经验分享:ExtJS4MVC架构讲解
技术经验分享:ExtJS4MVC架构讲解
|
3天前
|
存储 消息中间件 负载均衡
技术心得记录:架构设计之数据分片
技术心得记录:架构设计之数据分片
|
3天前
|
存储 SQL 分布式计算
技术心得记录:深入学习HBase架构原理
技术心得记录:深入学习HBase架构原理
|
3天前
|
Java API Android开发
技术经验分享:Android源码笔记——Camera系统架构
技术经验分享:Android源码笔记——Camera系统架构