4)秒杀商品下单减库存,而秒杀活动一般是在一定的流年、特定的商品进行限定的销售抢购

背景

 

电商平台日常举行有个别秒杀场景的移位来对商品举行优惠,来拉动上上下下集团的影响力;而秒杀活动一般是在特定的时光、特定的货色举办限定的行销抢购,那样会引发大批量的用户进行抢购,并在活动约定的年月点同时的拓展秒杀抢购;那样也就形成如下特征:

1)大批量用户同暂且间同时展开抢购,网站仓卒之际访问流量剧增。

2)访问请求数量远远大于库存数据,只有少部分用户可以秒杀成功。

3)购物车直接下单减库存。

4)秒杀商品下单减库存。

 

背景

 

电商平台常常进行有个别秒杀场景的活动来对商品进行让利,来牵动整个集团的影响力;而秒杀活动一般是在一定的大运、特定的货色进行限制的行销抢购,那样会引发大批量的用户展开抢购,并在活动约定的岁月点同时的展开秒杀抢购;这样也就形成如下特征:

1)大量用户同近期间同时开展抢购,网站一弹指顷访问流量剧增。

2)访问请求数量远远大于库存数据,唯有少部分用户可以秒杀成功。

3)购物车直接下单减库存。

4)秒杀商品下单减库存。

 

概念

从下面的背景中大家须要直面的题材尽管,针对于电商平台如何让它能够在那种高并发、大流量的呼吁下让其可以稳定、满负荷的运行。所以这就需求引入流量监控平台,它亦可实时掌握种种服务器的周转参数、各样业务单元的哀求数量;随时为主管提供明晰的多少参考,以备调度。

 

概念

从地方的背景中我们须求面对的标题就是,针对于电商平台怎样让它可以在那种高并发、大流量的哀求下让其可以平静、满负荷的运作。所以那就需求引入流量监控平台,它可以实时驾驭各类服务器的运行参数、各个业务单元的伸手数量;随时为官员提供清晰的数额参考,以备调度。

 

怎么是流量监控

流量监控,又有啥不可领略为一种流量整形,是二个计算机互连网的互连网交通管理技术,从而延缓部分或享有数据包,使之符合人们所需的网络交通规则,速率限制的其中一种首要方式。

网络流量控制是用来优化或担保质量,改良延迟,和/或增添有个别品种的数据包延迟满意有个别标准下的可用带宽。纵然某三个环节趋于饱和点,网络延迟只怕大幅进步。因此,网络流量控制可以利用以幸免那种情形时有暴发,并维持延迟性检查。

互连网流量控制提供了一种手段来控制在指定时间内(带宽限制),被发送到网络中的数据量,或然是最大速率的多寡流量发送。那种控制可以兑现的路线有过多,不过一般状态下,互联网流量控制总是利用贻误发包来贯彻的,一般采取在网络边缘,以控制进入网络的流量,但也可一直采纳于数据源(例如,计算机或网卡),或是互联网中的二个因素。

如何是流量监控

流量监控,又足以领略为一种流量整形,是2个处理器互联网的网络交通管理技术,从而延缓部分或具有数据包,使之符合人们所需的互连网交通规则,速率限制的内部一种主要方式。

网络流量控制是用来优化或担保质量,改革延迟,和/或追加一些项目标数据包延迟满意某个原则下的可用带宽。即使某1个环节趋于饱和点,互连网延迟只怕大幅上涨。因而,互连网流量控制可以行使以预防那种场合时有暴发,并保持延迟性检查。

网络流量控制提供了一种手段来决定在指定时间内(带宽限制),被发送到互连网中的数据量,只怕是最大速率的多寡流量发送。那种操纵可以兑现的途径有那多少个,不过普通情形下,网络流量控制总是选拔拖延发包来贯彻的,一般接纳在互连网边缘,以决定进入网络的流量,但也可径直利用于数据源(例如,总计机或网卡),或是网络中的二个成分。

流量监控限流算法

限流算法主要为:漏桶、令牌桶、计数器

流量监控限流算法

限流算法主要为:漏桶、令牌桶、计数器

漏桶

一个永恒体积的漏桶,依据常量固定速率流出水滴。

图片 1 

 

漏桶

3个稳定体量的漏桶,依照常量固定速率流出水滴。

图片 2 

 

令牌桶

令牌桶算法是1个存放固定容积令牌的桶,根据固定速率往桶里添加令牌。

图片 3 

令牌桶

令牌桶算法是八个存放固定体量令牌的桶,依据固定速率往桶里添加令牌。

图片 4 

计数器

有时候大家还动用计数器来进展限流,紧要用来界定总并发数,比如数据库连接池、线程池、秒杀的并发数;只要全局总请求数可能自然时间段的总请求数设定的阀值则开展限流,是简约狂暴的总数量限流,而不是平均速率限流。

计数器

偶尔我们还利用计数器来进展限流,紧要用来限制总并发数,比如数据库连接池、线程池、秒杀的并发数;只要全局总请求数恐怕自然时间段的总请求数设定的阀值则展开限流,是简简单单残酷的总数据限流,而不是平均速率限流。

限流措施

  • 限制总并发数(比如数据库连接池、线程池)
  • 范围眨眼之间时并发数(如nginx的limit_conn模块,用来界定须臾时并发连接数)
  • 界定时间窗口内的平分速率(如Guava的RateLimiter、nginx的limit_req模块,限制每秒的平均速率)
  • 限制远程接口调用速率
  • 范围MQ的费用速率。
  • 可以依据互连网连接数、网络流量、CPU或内存负载等来限流

 

 

限流措施

  • 限定总并发数(比如数据库连接池、线程池)
  • 界定须臾时并发数(如nginx的limit_conn模块,用来限制弹指时并发连接数)
  • 限定时间窗口内的平均速率(如Guava的RateLimiter、nginx的limit_req模块,限制每秒的平分速率)
  • 范围远程接口调用速率
  • 限制MQ的费用速率。
  • 可以依照互联网连接数、互连网流量、CPU或内存负载等来限流

 

 

行业

以下针对于国内比较大型的互连网公司针对于流量监控架构方面的新闻搜集

行业

以下针对于国内比较大型的互连网公司针对于流量监控架构方面的消息搜集

阿里

从没找到相关的技艺资料,只是找到二零一四年分享的
“阿里管控系统靠什么扛住大地最大局面的流量洪峰?”的稿子,小说中涉嫌了其差距景况拔取的算法和限流框架。

用户洪峰

考虑的因素是:

a) 允许访问的速率

b) 系统接受的最大洪峰

c) 洪峰发生的间隔时间

处理方式: 令牌桶限流

回调洪峰

除却0点0分的那种流量洪峰,还有系统之间的回调引起的洪峰。想象一下这么的情景,物流系统为了处理发货音信,会隔一段时间调用交易系统来赢得交易消息。为了提升作用,它每回批量查询交易系统的多少。那样,对交易系统也牵动了流量的撞击。如果对那种回调不加以限制,那么或者交易系统忙于处理那种回调洪峰,对用户洪峰会疏于处理。

对此那种洪峰,有两种个性:

a) 有距离频率

b) 每一遍调用量大

c) 允许有延迟

处理格局:漏桶算法

限流框架分为:监控模块、决策模块、规则变更模块、限流模块。

图片 5 

 

阿里

一贯不找到有关的技能资料,只是找到2014年享受的
“阿里管控系统靠什么扛住大地最大局面的流量洪峰?”的文章,小说中涉及了其不一样景观选择的算法和限流框架。

用户洪峰

考虑的成分是:

a) 允许访问的速率

b) 系统接受的最大洪峰

c) 洪峰暴发的间隔时间

处理方式: 令牌桶限流

回调洪峰

除了0点0分的那种流量洪峰,还有系统里面的回调引起的洪涝。想象一下那样的景观,物流连串为了处理发货音讯,会隔一段时间调用交易系统来获取交易新闻。为了进步效用,它每回批量查询交易系统的多寡。那样,对交易系统也拉动了流量的撞击。如果对那种回调不加以限制,那么可能交易系统忙于处理那种回调洪峰,对用户洪峰会疏于处理。

对于那种洪峰,有二种天性:

a) 有距离频率

b) 每一遍调用量大

c) 允许有延期

处理格局:漏桶算法

限流框架分为:监控模块、决策模块、规则变更模块、限流模块。

图片 6 

 

腾讯

腾讯利用一种轻量级流控方案,方案如下:

一,计数器的key能“计时“

首先拔取使用ckv作为计数器存储,相比较redis开发会更熟悉,同时珍视也更易于,当然该方案也可以接纳redis作为计数器存储。

优势:方案用简易的章程将全局流控服务做成原子化(计数和计时原子化),开发门槛低。

二,请求总计用拉取的方法替换上报

对此请求的统计方法,一般全量上报不可行,全体事务的请求量至少1:1申报到ckv,ckv的体积和是个难点,单key也易于成为热门。定时如故定量批量反映,都心有余而力不足确保实时流控,特别是请求量大的时候,流控延迟的题材会被放大。

优势:方案裁减ckv的访问量,同时保险流控的准确性。

三,安顿不需求agent

为了做更轻量的方案,大家着想agent的要求性,分析发现,agent要到位的职能相比较不难,主要意义托管到业务流控api。

优势:方案不利用agent的章程,布署维护更简便。

四,全局及单机流控同时启用

方案对容灾做了丰盛的设想,主要化解方法是大局及单机流控同时启用,即基于ckv的全局流控和依照单机共享内存的单机流控都同时工作。

优势:方案有很好的容灾能力,容灾格局大致可行。

5、化解ckv品质瓶颈,流控质量达百万/s

鉴于应用ckv的incr以及配额拉取的贯彻形式,全局流控接入服务请求的力量拿到基金增高。

此时此刻方案单独申请了一块ckv,体积为6G,使用incr的法子,压测质量达到9w+/s。

对事情空接口(Appplatform框架)做流控压测,使用30台v6虚拟机,单机50进度,压测品质达到50w+/s。

单接口50w/s的伸手的劳动对接,同样也能满意多接口总体服务请求量50w+/s的大局流控须要。

上述的压测瓶颈重即使Appplatform框架的性质原因,由于拉取配额值是依据流控阈值设定(一般>10),50w+的请求量唯有不到5w的ckv访问量,ckv没到瓶颈。

优势:方案使用同一的财富(单独一块6G的ckv),能满足工作的请求量更高,质量达百万/s。

陆,协理扩容和动态流控升级

支持平行扩大流控能力,一套全局流控布置能满意流控的劳务请求量是达百万/s,更大的劳动请求量必要配置多套全局流控。

支撑提高到动态流控能力,ckv写入的流控阈值是通过定时管理器完毕,近年来事情一度做了健康度上报,定时管理器只需求对接健康度数据,分析接口当前哀求情形,动态调整流控阈值即可落成动态流控能力。

优势:方案总体简单轻量,扩容和提升都很简单。

重点流程图

图片 7 

 

腾讯

腾讯运用一种轻量级流控方案,方案如下:

一,计数器的key能“计时“

第贰选拔采取ckv作为计数器存储,比较redis开发会更熟知,同时保护也更易于,当然该方案也可以挑选redis作为计数器存储。

优势:方案用简易的不二法门将全局流控服务做成原子化(计数和计时原子化),开发门槛低。

二,请求计算用拉取的办法替换上报

对此请求的计算方式,一般全量上报不可行,全部工作的请求量至少1:1报告到ckv,ckv的容积和是个难题,单key也便于成为热门。定时或然定量批量申报,都没办法儿有限襄助实时流控,尤其是请求量大的时候,流控延迟的标题会被推广。

优势:方案收缩ckv的访问量,同时确保流控的准头。

3、布署不须要agent

为了做更轻量的方案,我们考虑agent的须要性,分析发现,agent要形成的效果相比不难,紧要意义托管到事情流控api。

优势:方案不选拔agent的措施,布署维护更简明。

四,全局及单机流控同时启用

方案对容灾做了丰盛的设想,紧要化解方法是全局及单机流控同时启用,即基于ckv的大局流控和依照单机共享内存的单机流控都同时工作。

优势:方案有很好的容灾能力,容灾方式大概可行。

5、化解ckv质量瓶颈,流控品质达百万/s

鉴于应用ckv的incr以及配额拉取的贯彻格局,全局流控接入服务请求的力量拿到基金增高。

当下方案单独申请了一块ckv,体量为6G,使用incr的法子,压测质量达到9w+/s。

对工作空接口(Appplatform框架)做流控压测,使用30台v6虚拟机,单机50经过,压测品质达到50w+/s。

单接口50w/s的哀求的服务接通,同样也能满足多接口总体服务请求量50w+/s的大局流控要求。

上述的压测瓶颈紧假使Appplatform框架的属性原因,由于拉取配额值是基于流控阈值设定(一般>10),50w+的请求量唯有不到5w的ckv访问量,ckv没到瓶颈。

优势:方案使用同一的财富(单独一块6G的ckv),能满意工作的请求量更高,品质达百万/s。

陆,辅助扩容和动态流控升级

帮忙平行扩充流控能力,一套全局流控布置能满意流控的劳务请求量是达百万/s,更大的劳务请求量必要配置多套全局流控。

支撑提高到动态流控能力,ckv写入的流控阈值是由此定时管理器达成,近日事务曾经做了健康度上报,定时管理器只须要对接健康度数据,分析接口当前呼吁境况,动态调整流控阈值即可达到动态流控能力。

优势:方案总体简单轻量,扩容和升级换代都很不难。

驷马难追流程图

图片 8 

 

京东

京东10亿调用量的高可用网关系统所提到的技术栈:

接入层 Nginx+lua 技术。

NIO+Serviet3 异步技术。

分别技术。

降职限流。

熔断技术。

缓存,哪些地方该加缓存,哪些地方可以直接读库。

异构数据。

很快失利。

监控统计,那是全方位高可用网关系统里那多少个首要的一部分。

京东

京东10亿调用量的高可用网关系统所提到的技术栈:

接入层 Nginx+lua 技术。

NIO+Serviet3 异步技术。

暌违技术。

降职限流。

熔断技术。

缓存,哪些地点该加缓存,哪些地点可以直接读库。

异构数据。

高效失败。

监理总结,那是成套高可用网关系统里万分主要的一有个别。

小米

BlackBerry抢购限流峰值系统针对于中兴商城秒杀抢购的兑现及技术架构

大秒系统的架构设计

图片 9 

 

大秒系统主要由如下多少个模块组合

限流集群 HTTP 服务放号策略集群
Middle 服务监控数据主导 Dcacenter监控管理种类 Master准实时防刷模块
antiblack基础存储与日志队列服务: Redis 集群、Kafka 集群等

全部大秒序列中大秒前端模块
(HTTP/middle/antiblack) 和监察数据主导使用 golang
开发,大秒监控管理连串使用 Python + golang 开发。

大秒的前端架构设计

大秒前端的架构设计从七个种类举办

限流集群 HTTP 服务

政策集群 Middle 服务

准实时反作弊 antiblack 服务

图片 10 

 

小米

华为抢购限流峰值系统针对于BlackBerry商城秒杀抢购的贯彻及技术架构

大秒系统的架构设计

图片 11 

 

大秒系统主要由如下多少个模块组成

限流集群 HTTP 服务放号策略集群
Middle 服务监督数据基本 Dcacenter监控管理连串 Master准实时防刷模块
antiblack基础存储与日志队列服务: Redis 集群、Kafka 集群等

任何大秒系列中大秒前端模块
(HTTP/middle/antiblack) 和监理数据基本应用 golang
开发,大秒监控管理系列使用 Python + golang 开发。

大秒的前端架构设计

大秒前端的架构设计从五个种类开展

限流集群 HTTP 服务

方针集群 Middle 服务

准实时反作弊 antiblack 服务

图片 12 

 

当当

据悉SOA架构理念,下降系统耦合性,接口定义清晰鲜明,保障独立子系统的健壮性高,下落故障跨系统扩散危机,从而将伸缩性的坚苦逐步分解到各样系统。

对系统举行分级,集中力量,特出重点系统。当当网从卖场到交易流程均属于一流系统,那部分系统直接涉及用户体验和订单量。在系统稳定和可看重性等目的上,设计标准高于后台系统。

事先考虑用异步处理代替同步处理,做好系统充足的降级方案,保证一定量的合格服务。

图片 13 

 

 

 

 

当当

依据SOA架构理念,降低系统耦合性,接口定义清晰显明,保障独立子系统的健壮性高,下降故障跨系统扩散风险,从而将伸缩性的诸多不便逐步分解到种种系统。

对系统进行个别,集中力量,优良重点系统。当当网从卖场到交易流程均属于超级系统,那有些连串间接关系用户体验和订单量。在系统稳定和可依赖性等目标上,设计标准高于后台系统。

预先考虑用异步处理代替同步处理,做好系统相当的降级方案,保障一定量的合格服务。

图片 14 

 

 

 

 

方案

经过资料的搜集,参考各大互连网集团的流量监控平台的架构搭建方案,大约了解涉及的系统模块组合、限流算法、限流措施和法则。

归结各方资料整理得出简要的流量监控方案,流量监控可以分为三个系列结合来落成其义务,那几个平台首要的组成部分是:流量上报、限流、策略、调度。

方案

透过资料的采集,参考各大互连网公司的流量监控平台的架构搭建方案,大约明白涉及的系统模块组合、限流算法、限流措施和法则。

归纳各方资料整理得出简要的流量监控方案,流量监控可以分为多个种类整合来成功其职务,那些平台紧要的组成部分是:流量上报、限流、策略、调度。

流量上报

重大用以收集系统的请求数据、状态和系统运维意况。有了这几个运维数据,才能对外或对内进行表决处理;

流量上报

重中之重用来采集系统的呼吁数据、状态和连串运转情形。有了那些运转数据,才能对外或对内进行表决处理;

壹,监控内容

1)对外和对外

对外用户请求

对内各个系统之间的回调请求

2)上报数据格式标准化

报告数据制定标准的

3)数据质量

4)实时和延时反馈

5)硬件监控,如服务器的CPU、内存、网卡

6)心跳监控,时刻明白每四个机械的运转处境

7)业务层监控,涉及JVM,Nginx的连接数

壹,监控内容

1)对外和对外

对外用户请求

对内种种系统之间的回调请求

2)上报数据格式标准化

举报数据制定正规的

3)数据质量

4)实时和延时报告

5)硬件监控,如服务器的CPU、内存、网卡

6)心跳监控,时刻通晓每多少个机器的运作景况

7)业务层监控,涉及JVM,Nginx的连接数

2、监控措施

1)、选用开源与shell脚本搭建监控平台

2)、自行研发监控平台

 

二,监控措施

1)、拔取开源与shell脚本搭建监控平台

2)、自行研发监控平台

 

限流 

重中之重是基于流量上报的数量整合政策、调度来
进行对超过预期请求的处理格局,比如限流、排队等方法;

基于不一致场景拔取差距的限流算法,能够借鉴阿里针对于用户访问、物流、交易的处理方式。

1)用户访问:接纳令牌桶情势;

2)物流、交易:选拔漏桶格局,平滑削峰处理;

3)购物车:采纳分块网格化,单元处理

限流 

要害是依照流量上报的多少整合政策、调度来
进行对超过预想请求的处理格局,比如限流、排队等方法;

据悉不相同情状拔取差别的限流算法,可以借鉴阿里针对于用户访问、物流、交易的处理方式。

1)用户访问:采纳令牌桶形式;

2)物流、交易:选用漏桶格局,平滑削峰处理;

3)购物车:采用分块网格化,单元处理

策略

最主假使由此提前设置的种类、业务场景参数,来用于决定怎么着处境用什么限流措施;相对的高风险的对答,也是政策的重大之处;在移动进行时,依据监察上报的流量数据,动态灵活的调动政策也是丰盛紧要的;通过整治的素材提成一下国策方案:

1)水平增加

针对不一样服务器的压力举行增减服务器个数以落到实处服务的下压力负载均衡,那样的话对于系统刚刚开头的伸缩性设计须求比较高,可以分外灵活的增进机器,来应对流量的变更。

2)系统分组

系统服务的事务不一样,有优先级高的,有优先级低的,那就让不一致的事情调用提前分组好的机器,那样的话在关键时刻,可以保中央业务。

3)业务降级

在2个用户请求,涉及到四个逻辑处理,其中许多可以没有的,可以在高并发的地方下,可以透过开关设置,来对非首要逻辑出来举行倒闭其请求,以升级了系统的主业务能力。

4)开关设置

对此每一个系统工作请求,都增减相应的开关设置,可以实时应对高并发情况下,依据气象完结动态调度的效果。

 

策略

主如果透过提前安装的系统、业务场景参数,来用于决定哪些景况用怎么样限流措施;相对的高危机的回复,也是策略的基本点之处;在活动举办时,依照监控上报的流量数据,动态灵活的调整策略也是相当紧要的;通过整理的材料提成一下策略方案:

1)水平扩大

本着分裂服务器的下压力进行增减服务器个数以完毕服务的压力负载均衡,那样的话对于系统刚刚开头的紧缩性设计要求相比较高,能够格外灵活的增加机器,来应对流量的成形。

2)系统分组

系统服务的事情分裂,有优先级高的,有优先级低的,那就让区其他政工调用提前分组好的机械,那样的话在关键时刻,可以保中央工作。

3)业务降级

在多少个用户请求,涉及到七个逻辑处理,其中不少可以没有的,可以在高并发的情景下,可以经过开关设置,来对非紧要逻辑出来进行倒闭其请求,以进步了系统的主业务能力。

4)开关设置

对此每3个连串业务请求,都增减相应的开关设置,可以实时应对高并发情况下,依照气象落成动态调度的效益。

 

调度

提需求领导相应的调度数据,实时突显系统运行处境,并在领导下达仲裁指令后飞速执行策略;如何来兑现差不离的方案如下:

一,建立基本数量可视化平台

2、策略规则可以动态配置

3、种种业务线开关集中管理

4、自动化的台本执行

伍,运营服务的动态化管理

六,命令执行的分发协议和协同管理

调度

提要求领导相应的调度数据,实时显示系统运维景况,并在领导下达仲裁指令后神速执行政策;怎么样来兑现大约的方案如下:

壹,建立基本数量可视化平台

贰,策略规则可以动态配置

3、种种业务线开关集中管理

四,自动化的剧本执行

伍,运转服务的动态化管理

6、命令执行的散发协议和同步管理

总结

流量监控为电商平台提供疾速稳定的运作环境的基础,它是无时不刻的督察整个平台的周转情形、并为决策者提供实时数据以供参考;流量监控平德雷斯顿的限流只是一种爱惜体制,怎样承接高并发、大流量的用户请求,照旧必要与其他平台合作,以达到给用户最好的用户体验。

 

 

 

 

总结

流量监控为电商平台提供快速稳定的运营环境的根本,它是无时不刻的督查整个平台的运转情形、并为决策者提供实时数据以供参考;流量监控平塞内加尔达喀尔的限流只是一种珍惜体制,如何承接高并发、大流量的用户请求,照旧要求与任何平台合作,以高达给用户最好的用户体验。

 

 

 

 

参考自小说

腾讯轻量级全局流控方案详解

http://wetest.qq.com/lab/view/320.html?from=content\_toutiao&hmsr=toutiao.io&utm\_medium=toutiao.io&utm\_source=toutiao.io

当当网系统分级与海量消息动态公布施行

http://www.csdn.net/article/2014-11-07/2822541

参考自小说

腾讯轻量级全局流控方案详解

http://wetest.qq.com/lab/view/320.html?from=content\_toutiao&hmsr=toutiao.io&utm\_medium=toutiao.io&utm\_source=toutiao.io

当当网系统分级与海量音信动态公布举行

http://www.csdn.net/article/2014-11-07/2822541

三星抢购限流峰值系统「大秒」架构解密

https://mp.weixin.qq.com/s?\_\_biz=MzAwMDU1MTE1OQ==&mid=402182304&idx=1&sn=1bd68d72e6676ff782e92b0df8b07d35&scene=1&srcid=12045k1zDgO7DLlMLwimBKjC&from=groupmessage&isappinstalled=0\#wechat\_redirect

One plus抢购限流峰值系统「大秒」架构解密

https://mp.weixin.qq.com/s?\_\_biz=MzAwMDU1MTE1OQ==&mid=402182304&idx=1&sn=1bd68d72e6676ff782e92b0df8b07d35&scene=1&srcid=12045k1zDgO7DLlMLwimBKjC&from=groupmessage&isappinstalled=0\#wechat\_redirect

阿里管控系统靠什么样扛住大地最大局面的流量洪峰?

http://jm.taobao.org/2016/05/19/how-to-withstand-the-world-s-largest-traffic/?hmsr=toutiao.io&utm\_medium=toutiao.io&utm\_source=toutiao.io

阿里管控系统靠什么扛住大地最大局面的流量洪峰?

http://jm.taobao.org/2016/05/19/how-to-withstand-the-world-s-largest-traffic/?hmsr=toutiao.io&utm\_medium=toutiao.io&utm\_source=toutiao.io

相关文章