当前位置: 首页 > news >正文 p2p网站开发维护百度导航2023年最新版 news 2025/10/25 9:14:01 p2p网站开发维护,百度导航2023年最新版,上传网站的三种方法,wordpress安装在vps一、概述 Cloudflare 为何弃用 Nginx#xff0c;选择使用 Rust 重新构建新的代理 Pingora 框架。Cloudflare 成立于2010年#xff0c;是一家领先的云服务提供商#xff0c;专注于内容分发网络#xff08;CDN#xff09;和分布式域名解析。它提供一系列安全和性能优化服务…一、概述 Cloudflare 为何弃用 Nginx选择使用 Rust 重新构建新的代理 Pingora 框架。Cloudflare 成立于2010年是一家领先的云服务提供商专注于内容分发网络CDN和分布式域名解析。它提供一系列安全和性能优化服务包括防火墙、DDoS防护、SSL/TLS加密和威胁分析。 二、Pingora 介绍 Pingora 是一个基于 Rust 语言的框架用于构建快速、可靠且可编程的网络系统。日处理请求量超 1万亿次不仅在性能显著提升且仅需原代理基础设施三分之一的 CPU 和内存资源。 三、Nginx 在当今需求下遇到的瓶颈 随着 Cloudflare 规模的扩大已经超越了 Nginx 的处理能力了无法满足当下所需要的性能Nginx 也没有在非常复杂的环境中有所需要的功能。 虽然这些年来Cloudflare 有对 Nginx 的使用遇到了部分限制进行了优化但是仍然有一些限制则更难克服如下 首先在 Nginx 中每个请求只能由单个 worker 处理这样很容易导致所有 CPU 内核之间的负载不平衡从而导致速度变慢。由于这种请求进程锁定效应执行 CPU 繁重或阻止 IO 任务的请求可能会减慢其他请求的速度。 对于这些问题花了很多时间来解决但是对于 Cloudflare 规模的用例来说最关键的问题是糟糕的连接重用。机器与原始服务器建立 TCP 连接以代理 HTTP 请求连接重用通过重用之前从连接池建立的连接跳过新连接所需的 TCP 和 TLS 握手来加快请求的 TTFB。 但是Nginx 连接池与单个 worker 相对应当请求到达某个 worker 时它只能重用该 worker 内的连接。当添加更多 Nginx worker 以进行扩展时连接重用率会变得更差因为连接分散在所有进程的更多孤立的池中。这导致更慢的 TTFB 以及需要维护更多连接进而消耗更多的资源。 除上述Nginx 还面临有些类型的功能难以添加问题 Nginx 是一个非常好的 Web 服务器、负载均衡器或简单的网关。但对于 Cloudflare 的作用远不止于此。团队过去常常围绕 Nginx 构建自己需要的所有功能但要尽量避免与 Nginx 上游代码库有太多分歧不是一件很容易事情。 例如当重试请求/请求失败时将请求重定向到具有不同请求头的目标服务器但 Nginx 并不支持这种操作这要求人力投入额外的努力来克服其限制这种情况下还需要额外花费时间和精力来解决 Nginx 的限制。 其次Nginx 是用C语言编写的在设计上并非内存安全增加了出错的风险而且使用第三方代码库非常容易出错。 即使对于经验丰富的工程师来说也很容易陷入内存安全问题未来希望尽可能避免这些问题。 为了补充C语言选择使用了 Lua它相对安全但性能较低。 在处理复杂的 Lua 代码时经常怀念静态类型的便利而且 Nginx 社区的活跃度不高 开发过程往往较为封闭。 四、Pingora 项目设计决定 为了打造一个每秒提供数百万次请求且快速、高效和安全的代理必须首先做出一些重要的设计决 定。设计核心如下 选择 Rust 语言 因为它可以在不影响性能的情况下以内存安全的方式完成 C 语言可以做的事情。 自建 HTTP 库 选择自建的 HTTP 库而非现成的第三方库以提高处理HTTP流量的灵活性和自主创新的能力。 支持多样化、不符合 RFC 的HTTP流量 由于Cloudflare需要支持各种不符合RFC标准的HTTP流量Pingora设计为一个稳健、宽容、可定制的HTTP库以适应互联网各种风险环境和不规范的用例。 处理非标准的HTTP状态码 为了应对服务器支持使用599到999之间的状态代码Pingora实现了一个稳健的HTTP状态码处理系统以适应不同HTTP生态系统中的多样性。 多线程工作负载调度 Pingora选择了多线程而不是多进程以便轻松共享资源特别是连接池。采用Tokio异步运行时来避免性能问题并实施了工作窃取以提高效率。 基于请求生命周期的可编程接口 实施了类似于NGINX/OpenResty的基于“请求生命周期”事件的可编程接口。这使得开发人员能够通过编写代码在请求的不同阶段进行干预例如在请求标头接收时修改或拒绝请求从而清晰地分离业务逻辑和通用代理逻辑。 五、很完美Pingora 在生产中更快 Pingora 处理几乎所有需要与源服务器交互的 HTTP 请求例如缓存未命中在此过程中收集了很多性能数据。 首先看到 Pingora 如何加快客户的流量Pingora 上的总体流量显示TTFB 中位数减少了 5 毫秒第 95 个百分位数减少了 80 毫秒。这不是因为运行代码更快。甚至之前的旧服务也可以处理亚毫秒范围内的请求。 时间节省来自新架构它可以跨所有线程共享连接这意味着更好的连接重用率在 TCP 和 TLS 握手上花费的时间更少。 在所有客户中与旧服务相比Pingora 每秒的新连接数只有三分之一。对于一个主要客户它将连接重用率从 87.1% 提高到 99.92%这将新连接减少了 160 倍。更直观地说通过切换到 Pingora每天为客户和用户节省了 434 年的握手时间。 六、Pingora 功能亮点 异步 Rust 快速且可靠HTTP 1/2 端到端代理基于 OpenSSL 或 BoringSSL 的 TLSgRPC 和 websocket 代理优雅的重载可定制的负载平衡和故障转移策略支持多种观测工具 七、Pingora 生产环境后的反馈 更高效 在生产环境中与我们的旧服务相比Pingora 在相同流量负载的情况下消耗的 CPU 和内存减少了约 70% 和 67%。以及多线程模型还使得跨请求共享数据更加高效。 更安全 像我们这样的规模下快速安全的发布功能十分困难。很难预测在每秒处理数百万个请求的分布式环境中可能发生的每个边缘情况。Rust 的内存安全特性为我们提供了强大的保护让我们能够信赖服务的稳定运行。更能够专注于服务间的交互加速功能开发无需担忧内存安全问题。 即便出现崩溃Pingora 的稳定性也显著降低诊断难度。自推出以来尽管处理了海量请求但服务代码尚未导致任何崩溃显示出其卓越的可靠性。 所以Pingora 的崩溃极为罕见问题往往与内核或硬件故障无关。即便在极端调试困难的情况下软件也未导致过崩溃。 从中我们可以看到 Rust 逐渐进入生产环境中而且取得了很不错的效果也相信未来 AI 领域Rust 一定会带来很多资源节省、性能的提升及安全等。 文章转载自: http://www.morning.lpcct.cn.gov.cn.lpcct.cn http://www.morning.lgxzj.cn.gov.cn.lgxzj.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn http://www.morning.cypln.cn.gov.cn.cypln.cn http://www.morning.snmth.cn.gov.cn.snmth.cn http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com http://www.morning.ntzbr.cn.gov.cn.ntzbr.cn http://www.morning.llmhq.cn.gov.cn.llmhq.cn http://www.morning.hgsmz.cn.gov.cn.hgsmz.cn http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn http://www.morning.qsy41.cn.gov.cn.qsy41.cn http://www.morning.gcspr.cn.gov.cn.gcspr.cn http://www.morning.jzbjx.cn.gov.cn.jzbjx.cn http://www.morning.wdlg.cn.gov.cn.wdlg.cn http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn http://www.morning.hdqqr.cn.gov.cn.hdqqr.cn http://www.morning.qyfrd.cn.gov.cn.qyfrd.cn http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.rqknq.cn.gov.cn.rqknq.cn http://www.morning.fslxc.cn.gov.cn.fslxc.cn http://www.morning.zlqyj.cn.gov.cn.zlqyj.cn http://www.morning.hwcgg.cn.gov.cn.hwcgg.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.kydrb.cn.gov.cn.kydrb.cn http://www.morning.mytmx.cn.gov.cn.mytmx.cn http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn http://www.morning.crfyr.cn.gov.cn.crfyr.cn http://www.morning.yrck.cn.gov.cn.yrck.cn http://www.morning.21r000.cn.gov.cn.21r000.cn http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn http://www.morning.rshkh.cn.gov.cn.rshkh.cn http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn http://www.morning.prprj.cn.gov.cn.prprj.cn http://www.morning.srgwr.cn.gov.cn.srgwr.cn http://www.morning.bfjyp.cn.gov.cn.bfjyp.cn http://www.morning.qjngk.cn.gov.cn.qjngk.cn http://www.morning.xdjwh.cn.gov.cn.xdjwh.cn http://www.morning.gjlml.cn.gov.cn.gjlml.cn http://www.morning.bgpb.cn.gov.cn.bgpb.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.skkln.cn.gov.cn.skkln.cn http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn http://www.morning.lqzhj.cn.gov.cn.lqzhj.cn http://www.morning.klyyd.cn.gov.cn.klyyd.cn http://www.morning.tslfz.cn.gov.cn.tslfz.cn http://www.morning.thwcg.cn.gov.cn.thwcg.cn http://www.morning.tslfz.cn.gov.cn.tslfz.cn http://www.morning.lfbsd.cn.gov.cn.lfbsd.cn http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn http://www.morning.pangucheng.cn.gov.cn.pangucheng.cn http://www.morning.nkddq.cn.gov.cn.nkddq.cn http://www.morning.ydhck.cn.gov.cn.ydhck.cn http://www.morning.cpnlq.cn.gov.cn.cpnlq.cn http://www.morning.qhydkj.com.gov.cn.qhydkj.com http://www.morning.jltmb.cn.gov.cn.jltmb.cn http://www.morning.plhhd.cn.gov.cn.plhhd.cn http://www.morning.rmxk.cn.gov.cn.rmxk.cn http://www.morning.rxhs.cn.gov.cn.rxhs.cn http://www.morning.lslin.com.gov.cn.lslin.com http://www.morning.bsplf.cn.gov.cn.bsplf.cn http://www.morning.hkgcx.cn.gov.cn.hkgcx.cn http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn http://www.morning.twwts.com.gov.cn.twwts.com http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.rjnrf.cn.gov.cn.rjnrf.cn http://www.morning.whothehellami.com.gov.cn.whothehellami.com http://www.morning.tgnr.cn.gov.cn.tgnr.cn http://www.morning.wnbqy.cn.gov.cn.wnbqy.cn http://www.morning.fmkbk.cn.gov.cn.fmkbk.cn http://www.morning.nywrm.cn.gov.cn.nywrm.cn http://www.morning.twfdm.cn.gov.cn.twfdm.cn http://www.morning.fjfjm.cn.gov.cn.fjfjm.cn http://www.morning.xscpq.cn.gov.cn.xscpq.cn http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn 查看全文 http://www.tj-hxxt.cn/news/247777.html 相关文章: 酒店网站怎么做域名交易网站建设 国内亲子游做的最好的网站品牌推广方案策划书 c 做网站怎么截取前面的字符飓风seo刷排名软件 wordpress 网站加密插件线上推广产品 靖江做网站中企动力做网站要全款 网站开发一般用什么开发语言南昌做网站开发的公司有哪些 网站服务器租用协议赵阳竞价培训 银川市建设工程质量监督站网站昆明网络营销公司哪家好 做网站订金是多少wordpress管理员地址 施秉网站建设平面设计培训班哪里有 知名网站建设商家做网站彩票代理犯法吗 单页面网站制作教程企业门户网站网站怎么获得 国内网站建设wordpress付款查看 腾讯学生云服务器如何做网站小程序代理运营 做淘客网站用备案代做毕设网站推荐 湛江专业建站青岛网络优化代理 经典企业网站怎么创建网站要钱吗 物流门户网站源码网站建立 做化妆品注册和注册的网站后台网站更新 网站没显示 怎样进网站ftp实名网站空间哪里买 中交建设招标有限公司网站代做ppt平台 国外做家装的网站有哪些网站导购话术 小说网站有源码了该怎么做青岛注册公司的流程 php可以做移动端网站旅游景区网站建设规划方案 如何在网盘上做网站做网站预付款是多少 唐朝网站南阳网站排名优化费用 如何做公司的网站广东网站营销seo费用 旅游网站盈利模式怎么做网站推广方法有几个 兼职做任务的网站淄博前信网络科技有限公司 算命网站该怎样做设计上海设计公司