关于网站制作报价微信小程序自助建站

news/2025/10/6 13:43:37/文章来源:
关于网站制作报价,微信小程序自助建站,wordpress查看管理员密码,cms监控软件作者#xff1a;刘志勇#xff0c;本文来自新浪微博视频平台资深架构师刘志勇在 LiveVideoStackCon 2018 讲师热身分享#xff0c;并由 LiveVideoStack 整理而成。 本文从设计及服务可用性方面#xff0c;详细解析了微博短视频高可用、高并发架构设计中的问题与解决方案。…  作者刘志勇本文来自新浪微博视频平台资深架构师刘志勇在 LiveVideoStackCon 2018 讲师热身分享并由 LiveVideoStack 整理而成。 本文从设计及服务可用性方面详细解析了微博短视频高可用、高并发架构设计中的问题与解决方案。 今天与大家分享的是微博短视频业务的高并发架构具体内容分为如下三个方面 团队介绍 微博视频业务场景 “微博故事”业务场景架构设计 团队介绍 我们是隶属于微博研发部视频平台研发部门的技术团队。平台研发是微博的核心部门之一包括大家熟知的微博视频在内的微博所有核心业务的基础平台架构、用户关系体系等都依赖微博平台研发部门的技术支持。 我们的团队主要负责与视频相关的上层业务也就是视频微博、“微博故事”以及短视频和直播其中直播包括常规的直播与直播答题等新玩法。 同时我们还负责底层视频平台的架构搭建包括文件平台、转码平台、配置调度中心与媒体库。 我们致力于用技术帮助微博从容应对每天百万级的视频增量与其背后多项业务的多种定制化需求。 微博视频业务场景 我们的业务场景主要是应对热门事件的流量暴涨例如明星绯闻、爆炸性新闻等势必会让流量在短时间内急剧增长的事件。 如何从架构上保证流量暴涨时整体平台的稳定性如果只是简单地通过调整服务器规模解决流量较小时过多的服务器冗余带来成本的浪费流量暴涨时过少的服务器又令平台服务处于崩溃的边缘。 比较特别的是我们面临的问题与诸如“双十一”这种在某一确定时间段内流量的可预见式高并发有着本质的不同我们面临的流量暴涨是不可预见的。因此通过哪些技术手段来妥善解决以上问题将是接下探讨的重点。 以上是基于微博的过去已经公开数据量级非近期内部数据。微博视频是一个多业务接入的综合平台你可以在微博上看见现在市面上的各种玩法。 这就导致我们即将面临的并不是某个垂直业务领域的命题而是一个构建在庞大体量下的综合性命题这就导致现有的通用技术框架无法妥善解决我们所面临的难题。 因为一些开源方案无法顺利通过技术压测所以我们只能在开源方案的基础上进行自研与优化才能得到符合微博应用场景需求的技术解决方案。 微博的短视频业务被称为“微博故事”上图展示的是“微博故事”的展现形态。这是一个布置在微博首页一级入口上的模块主要展示的是用户关注的人所上传的 15 秒内的短视频。 我们希望强调其“即时互动”的属性视频只有 24 小时的有效展示时间。不同用户的视频按照时间轴在上方排序多个视频可依次观看、评论、点赞等。 “微博故事”业务场景架构设计 微服务架构 上图展示的是这项业务的微服务架构在接口层我们混布了 Web API 与内部的 RPC 请求。 在这里我们并未集成具有实际意义的门面层而接下来的服务层集成了许多微服务每个微服务集中在一个垂直功能上并可对外提供接口这里的门面层主要作用是聚合一些微服务并对外提供综合性接口。 除此之外还有一些依赖服务例如用户关注、也需要依赖于其他部门的 RPC 服务最后的存储层则是集成了 Cache 与 db 的标准方案。 技术挑战 有人曾问到微博短视频业务的高并发有多高假设我关注了 500 名好友如果有好友发布一个视频就会在“微博故事”头像列表上显示一个彩圈用以提示我去观看。 如果我想知道自己所有关注的 500 个人所发的视频内容假设首页每秒刷新十万次那么需要每秒钟五千万的 QPS。 除此之外我们还需要确定视频是否过期、视频发送顺序等实际的资源层读取量将远远高于五千万。 方案比较 在构建解决方案时我们思考可以借鉴微博之前的 Feed 解决方案我们不会进行无意义的重复性工作与思考。 即使短视频与 Feed 都具有首页刷新与关注人发布消息聚合的特点但以用户列表为形式强调进度续播与即时互动的短视频和以内容列表为形式强调无阅读状态与永久保存的微博具有本质的区别。 面对一般的 Feed 应用场景可以使用以下两种模型 Feed 推模型 Feed 拉模型 ①Feed 推模型 Feed 推模型是指将用户上传发布的内容推送至每一位粉丝这种方案具有很大的弊端。由于用户尚未达成一定规模早期的微博以 Feed 推模型为主导。 而现在一个大 V 用户的粉丝数量普遍都是千万级别如果依旧使用 Feed 推模型则意味着千万量级的内容推送在难以保证千万份推送一致性的情况下势必会为服务器带来巨大压力。 微博的业务强调的就是强时效性下的内容一致性我们需要确保热点事件推送的瞬时与一致。 除了从技术层面很难确保千万级别内容推送的时效性与一致性由于用户上线状态的不统一为离线的用户推送强时效性的内容无疑是对服务器等资源的巨大浪费为了避免以上麻烦我们必须改变思路。 ②Feed 拉模型 Feed 拉模型拉取关注的人并实时查询状态及内容。综合微博的庞大用户体量、数据写入开销与确保一致性三方面我们决定选择 Feed 拉模型。 如何通过 Feed 拉模型应对如此规模庞大的 QPS首先我们采用了分布式缓存架构在缓存层集成了数据分片并将缓存通过哈希算法合理分片之后再把缓存去切片化并进行存取。 分布式缓存架构 其次我们使用了独有的多级缓存方案也就是 L1、 Master 、Slave 三层缓存方案。 L1 是一个热度极高容量极小的缓存我们称其为“极热缓存”其特点是便于横向扩展。 假设 L1 只有 200MB 缓存我们使用 LRU 算法通过热度分析把访问最热的数据存储在 L1 中之后的 Master 与 Slave 的缓存空间则是 4GB、6GB比 L1 大很多倍。 因为微博的流量比较集中于热点事件中某几位明星或某个新闻小容量的 L1 可进行快速扩容在发生热门事件时利用云的弹性自动扩容从而分担热点事件短时间激增的流量压力。 由于自动扩容时 L1 仅占用每台缓存中很小的空间扩容的速度就会非常快通过这种手动或自动的瞬间弹性扩容来确保服务器稳定承受热点事件背后的数据激增量。 第二层的 Master 与 Slave 具有比 L1 大好多倍的缓存空间主要用于防止数据冷穿。 虽然 L1 主要承担的是热点数据但却无法确保一些短时间内不热但在某个时间段热度突然高涨所带来的流量短时间爆发时服务器的稳定性。 HA 多机房部署 而 Master 与 Slave 作为 L1 的逻辑分组可有效防止数据过冷在这里我们采用的是 HA 多机房部署。 例如图中的的两台 IDC我们称左边为 IDC-A右边为 IDC-B。缓存层的 Master 与 Slave 是主从同步的关系双机房的缓存互相主从同步。 这里的“互相主从同步”是指 IDC-A 的 MC 与 IDC-B 的 MC 之间进行双向同步互为主从。 因为在进行双机房部署时需要均衡两个机房的流量负载在缓存层需要使用 LRU 算法进行热度分析。 如果我们将流量分为两份并传输至两个机房通过每个机房的 IRU 算法得到的热度信息有一定失真。 如果我们在缓存层做相互同步后每个机房的 MC 都是一个全量的热度算法那么两个机房的 L1 基本可实现同步计算得出的热度信息一定是准确的只有保证热度信息的准确无误才能从容应对流量激增与整个系统的高可用性。 在这里需要强调的是实际上我们在选型上使用的是 MC 而未使用 Redis。 MC 对于纯简单数据 KeyValue 的抗量远大于 RedisMC 采用预分配内存的形式放置 KeyValue也就是把内存分成若干组相同数据区域实际上就是若干个数组。 这种特殊结构使其在数据定位数组寻址与读写上的速度非常快这种结构的缺点是一旦缓存的数据出现变动就会出现即使内存留有空余但数据依旧无法存储的现象。 由于这种问题的存在MC 不适用于存储变动大、Value 跨度大、业务多变的数据。 而 Redis 作为单线程方案一致性更好但在超大规模简单 KeyValue 读取上速度比 MC 是要差很多的。 除了上述方案之外我们还采用了弹性扩缩容。实际应用中基于成本的考量我们无法部署大量的服务器于是我们采用了自研的 DCP 弹性扩缩容平台。 首先我们的自有机房有一些共享机器资源可在特殊情况下动态弹性扩充以应对增加的流量压力。 当然这部分机器的性能是有限的当数据量超过一定阈值后我们就会接入阿里云并利用我们与阿里云的混合云 DCP 方式构建一层弹性软平台用于自动扩容承担流量压力。 除了弹性扩容我们同时也采用了定时扩容的逻辑在每天晚高峰时段进行扩缩容从而确保整体服务的稳定性。之所以这么做主要是为了在保证用户体验的前提下尽可能节约成本。 需要强调的是扩容对速度的要求十分严格。只有扩容的速度越快流量峰值来临时可承受的数据量越大才能确保整体服务的高可用因而我们也在努力优化扩容的速度。 我们的 DCP 平台上也有晚高峰固定时段扩缩容与突发流量临时扩缩容通过如流量监控等的自动化容量评估来判断服务器荷载并通过自动化任务调度妥善解决突发流量对服务器的影响。 微服务熔断机制 当然为了保证服务器整体的健康与稳定我们也在其中集成了微服务熔断机制其原理类似于家用电表中的保险丝可在过载的情况下迅速自动熔断。 系统会定期进行自我评估并确定每个服务的最大荷载假设将熔断值定为 3000QPS那么当 QPS 超过 3000、超时或异常时服务即会迅速熔断并关闭从而确保其他资源的安全稳定。 通过这种框架级、细粒度的自动降级机制系统失败隔离能力可被有效提高避免了雪崩式的链式宕机事件的发生。在熔断的同时自动扩容也会同步运行。 熔断之后系统会不断更新服务流量荷载一旦扩容完成或者服务还能继续承受流量即可重新恢复工作这种熔断机制同样也是为服务器扩容争取时间。 福利 扫描添加小编微信备注“姓名公司职位”加入【云计算学习交流群】和志同道合的朋友们共同打卡学习 推荐阅读 面试官你简历中写用过docker能说说容器和镜像的区别吗 C、Python、Rust、Scala构建编译器的差异性究竟有多大 想换行做 5G 的开发者到底该咋办 如何在标准的机器学习流程上玩出新花样 独家 | Vitalik Buterin以太坊2.0之跨分片交易 华为“舵手”任正非 滴滴章文嵩不仅软件开源还向学界开放数据   真香朕在看了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么建设局域网网站展示照片的网站

数环通让您可以通过不到几分钟的时间即可实现RSS订阅与Notion的对接与集成,从而高效实现工作流程自动化,降本增效! 1.产品介绍 RSS订阅是数环通的内置应用,很多用户通过RSS订阅来收集自己在各大平台上看的内容,当RSS…

基于MPPT算法的光伏并网发电系统simulink建模与仿真

1.课题概述 基于MPPT算法的光伏并网发电系统simulink建模与仿真,包括PV光伏发电模块,并网电路,MPPT,PWM等模块。 2.系统仿真结果 3.核心程序与模型版本:MATLAB2022a 4.系统原理简介 光伏并网逆变器…

实用指南:【系统架构设计师】2025年上半年真题论文回忆版: 论系统负载均衡设计方法(包括解题思路和参考素材)

实用指南:【系统架构设计师】2025年上半年真题论文回忆版: 论系统负载均衡设计方法(包括解题思路和参考素材)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; dis…

软件版悟空博弈+WAUC构筑元人文演化之路研究报告——声明Ai研究

软件版悟空博弈+WAUC构筑元人文演化之路研究报告 一、引言:从价值对齐到价值弥漫的范式革命 在AI伦理的探索中,我们长期受困于"价值对齐"的范式——试图将一套预设的、静态的人类价值,"灌装"进…

可以自己做网站卖东西梧州论坛手机红豆网

实现一个一遍扫描的编译前端&#xff0c;将简化高级语言的部分语法成分&#xff08;含赋值语句、分支语句、循环语句等&#xff09;翻译成四元式&#xff08;或三地址代码&#xff09;&#xff0c;还要求有合理的语法出错报错和错误恢复功能。 测试样例 beginwhile a<b do…

温州建网站公司哪家好wordpress 做的网站

IP协议处于OSI参考模型的第三层——网络层&#xff0c;网络层的主要作用是实现终端节点间的通信。IP协议是网络层的一个重要协议&#xff0c;网络层中还有ARP(获取MAC地址)和ICMP协议(数据发送异常通知) 数据链路层的作用在于实现同一种数据链路下的包传递&#xff0c;而网络层…

Linux 中 m、mm、mmm 函数和 make 的区别 - 详解

Linux 中 m、mm、mmm 函数和 make 的区别 - 详解2025-10-06 13:20 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

做cad室内平面图的家具素材网站重庆怎么推广企业网站

C语言允许宏带有参数。在宏定义中的参数称为“形式参数”&#xff0c;在宏调用中的参数称为“实际参数”&#xff0c;这点和函数有些类似。 对带参数的宏&#xff0c;在展开过程中不仅要进行字符串替换&#xff0c;还要用实参去替换形参。 带参宏定义的一般形式为&#xff1a…

详细介绍:学习STC51单片机27(芯片为STC89C52RCRC)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[KaibaMath1001] 关于∀ε0,|a-b|ε = a=b的证明

[KaibaMath1001] 关于∀ε>0,|a-b|<ε => a=b的证明摘要:如能理解|a - b| < ε => a = b,则就可以轻松理解数列极限或函数极限的定义。 # 1 关于∀ε>0,|a - b| < ε => a = b的证明 # …

基于Web的分布式图集管理系统架构设计与实践 - 教程

基于Web的分布式图集管理系统架构设计与实践 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

做逆战网站的名字建网站学什么专业

URLEncoder到底是干什么用的&#xff1f;&#xff1f; 都说是对form表单里的请求编码解码用的&#xff0c;但是为什么在写中文文件下载的时候也用到了。 就是说国际通用的编码对中文支持不好&#xff0c;所以需要对着玩意进行转换。 因为中文读取的时候你不给一个编码&#xff…

完整教程:Deepseek/cherry studio中的Latex公式复制到word中

完整教程:Deepseek/cherry studio中的Latex公式复制到word中pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

网站ftp国内大型软件外包公司

文章目录 [toc]配置无线网和分区修改时区安装内核和驱动自动生成 fstab 文件配置 pacman切换到安装好的系统设置时区配置 pacman 国内源安装 gui安装 GRUB 引导建立引导 增加内核模块配置开机自启修改 root 用户密码创建普通用户配置 sudo 重启进入新系统配置 wlan 自动连接 wi…

TCP小结 - 指南

TCP小结 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Couri…

泰安营销型网站建设公司公司网络营销策略

税收问题&#xff0c;怎么把一个数按照部分进行计算呢&#xff1f;比如一个数大于10000&#xff0c;然后超过10000的部分按照5%计算&#xff0c;10000-5000的区间按照3%计算 在C中&#xff0c;你可以使用条件语句&#xff08;if-else语句&#xff09;来根据不同的条件计算税收…

亦庄网站建设wordpress单用户案例

无锁队列的基本介绍 一个关于无锁队列的多线程读写代码示例。在这里&#xff0c;我提供一个简单的示例来说明这个问题。 在使用无锁队列时&#xff0c;需要注意以下几点&#xff1a; 使用原子操作来实现对队列的读写操作&#xff0c;以避免多线程同时访问同一数据导致的竞争条…

石家庄网站建设公司黄页做网站建设 个体经营 小微企业

目录 一、为什么需要低代码平台 二、低代码平台的搭建能力 三、低代码其他能力 四、写在最后 随着互联网和信息技术的快速发展&#xff0c;各行各业都在积极拥抱数字化转型。在这个过程中&#xff0c;软件开发成为企业实现数字化转型的关键环节。然而&#xff0c;传统的软件开发…

国庆 Day2 强基物理

转动惯量又来了。相对论入门。前言:和暑假讲的有重合,上午主要是刚体转动力学、转动惯量、积分求解。那么就结合暑假的部分一起整理了。晚上等老师发了笔记再来更新。 讲了几乎一上午的积分。就当做是复习暑假自学的…