2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

深入了解扩展的 5 个阶段

  • 2013-03-11
  • 本文字数:1184 字

    阅读完需:约 4 分钟

Christopher Smith 在上月举行的 Scale11x 上进行了题为“扩展的五个阶段”的演讲,演讲中他分享了自己对实现Web 应用扩展和解决扩展中的问题的见解。Christopher 举了在各阶段实现扩展的例子,同时他还对通过添加或优化良好定义的组件来改善Web 应用整体扩展做了讲解。他从负载均衡讲到UDP 协议的优化使用,带领听众经历了一段集知识性和娱乐性于一体的旅程

最重要的基础扩展架构应具有在负载均衡器后面添加Web 应用服务器的能力。负载均衡器能够通过在应用服务器间划分请求和会话的方式进行web 应用的线性扩展。该技术相当于通过增加应用服务器进行线性扩展,然而这只不过是延缓了不可避免的 C10K 问题,因为这种方式没有增加单个请求的响应能力。

Christopher 介绍了 web 应用前置的缓存系统如何通过处理读取操作来支持扩展:联合使用多重缓存系统使扩展最大化。Memcache 服务器(或类似的服务器)可以在内存中存储数据从而使应用服务器能够快速检索。还可以在负责均衡器之前放置反向代理为缓存的资源提供服务。最后,可以使用内容分发网络(CDN)使缓存的资源更靠近终端用户。不过缓存在写数据方面有它自身的限制。

优化的持久性框架能够将扩展写入的能力带到扩展中的新阶段。Christopher 认为,对大部分人来说,能够成功运用这一阶段和之前提到的内容就足够了。选择合适的 SQL 或 NoSQL 数据库来匹配应用数据结构将显著地增强扩展性。并发读 / 写能力将提高写操作的吞吐量和响应能力。最后如果你能够“在 ACID(特别是 C 和 D)上耍点手腕儿”,你就可以将更多的写操作提速。

这些扩展技术的基础是使 web 应用读 / 写数据的延迟最小化。Christopher 分享了计算机上不同操作的延迟时间

  • L1 缓存引用 - 0.5 ns
  • 分支预测失败 – 5 ns
  • L2 缓存引用 – 7 ns
  • 互斥锁 / 解锁 – 25 ns
  • 主内存引用 – 100 ns
  • 使用 Zippy 压缩 1KB – 3,000 ns
  • 在 1Gbps 网络上发送 1KB – 10,000 ns(0.01 ms)
  • 从 SSD 随机读取 4KB – 150,000 ns(0.15 ms)
  • 从内存中顺序读取 1MB – 250,000 ns(0.25 ms)
  • 同一个数据中心内部往返 – 500,000 ns (0.5 ms)
  • 从 SSD 连续读取 1MB – 1,000,000 ns (1 ms)
  • 硬盘寻道 – 10,000,000 ns (10 ms)

Christopher 演讲的其他部分涵盖了扩展的高级阶段,包括:

  • 使用商用服务器传递代码而不是数据: Map/Reduce (Hadoop) ,DHT(Cassandra、HBase 和 Riak)
  • 通过数据分区路由数据: ESP/CEP 、Eigen、Storm、Esper、StreamBase 和 0mq 等
  • 使用 UDP 而不是 TCP

那些管理超大规模 web 应用的公司使用了最先进的技术,例如 Facebook 使用 UDP 和 Memcached 每秒能执行成千上万次请求

查看英文原文**: Insight into the Phases of Scaling **


感谢孙镜涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-03-11 04:043016
用户头像

发布了 256 篇内容, 共 87.0 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

SD-WAN:三步轻松实现异地访问总部内网

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

DAPP算力质押NFT合约系统开发|项目方案|技术成熟

l8l259l3365

智能化测试框架与平台的设计与实现:基于人工智能技术的创新

测吧(北京)科技有限公司

测试

教你学会Next.js14(c-shopping电商开源)

Geek_9da61c

JWT Tailwind next.js joi rtk query

能碳双控| AIRIOT智慧能碳管理解决方案

AIRIOT

智慧系统 能碳管理 智慧能碳

AI数字人SadTalker实战

不在线第一只蜗牛

AI 数字人 人工智能技术

如何为数据采集项目选择合适的API

Noah

英特尔首推面向AI时代的系统级代工

E科讯

大模型时代软件研发效率革命

百度开发者中心

人工智能 大模型

解决混合精度训练大模型的局限性问题

百度开发者中心

人工智能 深度学习 大模型

小程序应用、页面、组件生命周期(涵盖启动、显示、隐藏、错误、未找到、卸载阶段)

天津汇柏科技有限公司

小程序开发 软件定制开发 软件开发定制

拟人化智能自动化遍历

测吧(北京)科技有限公司

测试

SD-WAN解决企业组网中网络卡顿问题

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

企业过二级等保采购哪家堡垒机好?电话多少?

行云管家

等保 堡垒机 等保测评 二级等保

提升生产能力的必备工具——MES系统自动排产

万界星空科技

生产管理系统 mes 万界星空科技 生产管理 自动排产

大模型如何助力开发者打造新质生产力

百度开发者中心

人工智能 大模型

分库分表如何管理不同实例中几万张分片表?

程序员小富

Java 分库分表 springboot

JavaScript中的包装类型详解

Immerse

JavaScript 包装类型

动手实践丨轻量级目标检测与分割算法开发和部署(RK3568)

华为云开发者联盟

人工智能 自动驾驶 华为云 华为云ModelArts 华为云开发者联盟

鸿蒙应用成企业布局新方向 鸿蒙人才成开年之后“香饽饽”

最新动态

面试官:限流的实现方式有哪些?

王磊

Java 面试

文心一言 VS 讯飞星火 VS chatgpt (202)-- 算法导论15.3 1题

福大大架构师每日一题

福大大架构师每日一题

微软曾想将 Bing 搜索卖给苹果;英伟达首次公开将华为列为对手丨 RTE 开发者日报 Vol.151

RTE开发者社区

服装品牌升级必备:智能商品计划管理系统带来的五大惊喜!

第七在线

数字先锋| 变“制”为“智”!天翼云助力嵊州领航数字化烹饪时代!

天翼云开发者社区

人工智能 云计算

深入了解扩展的5个阶段_DevOps & 平台工程_Aslan Brooke_InfoQ精选文章