写点什么

Cloudflare 开源基于 Rust 语言的 Pingora 框架

  • 2024-02-29
    北京
  • 本文字数:705 字

    阅读完需:约 2 分钟

大小:331.32K时长:01:53
Cloudflare开源基于Rust语言的Pingora框架

早在 2022 年,Cloudflare 就宣布他们将放弃 Nginx,转而使用内部 Rust 编写的软件,名为 Pingora。当地时间 2 月 28 日,Cloudflare 宣布开源 Pingora 框架。

 

据悉,Pingora 是一个 Rust 异步多线程框架,用于构建可编程网络服务,采用 Apache 2.0 开源许可证。Pingora 长期以来一直在 Cloudflare 内部使用,能够维持大量流量,而现在 Pingora 正在开源,以帮助在 Cloudflare 之外构建基础设施。

 

Cloudflare 将 Pingora 框架描述为:

 

“Pingora 提供了库和 API,用于在 HTTP/1 和 HTTP/2、TLS 或 TCP/UDP 之上构建服务。作为代理,它支持 HTTP/1 和 HTTP/2 端到端、gRPC 和 websocket 代理。(HTTP/3 支持已在路线图上。)它还具有可定制的负载平衡和故障转移策略。为了合规性和安全性,它支持常用的 OpenSSL 和 BoringSSL 库,这些库具有 FIPS 合规性和后量子性除了提供这些功能之外,Pingora 还提供过滤器和回调,以允许用户完全自定义服务应如何处理、转换和转发请求。这些 API 对于 OpenResty 和 NGINX 用户来说尤其熟悉,因为许多 API 直观地映射到 OpenResty 的“ *_by_lua”回调。

 

在操作上,Pingora 提供零停机优雅重启来升级自身,而不会丢弃单个传入请求。Syslog、Prometheus、Sentry、OpenTelemetry 和其他必备的可观察工具也可以轻松与 Pingora 集成。”

 

Cloudflare 宣布 Pingora 开源,其中还包含一个使用它构建负载均衡器的示例。Pingora 处于 1.0 之前的阶段,尚不具备 API 稳定性,Cloudflare 目前没有计划支持非 Unix 操作系统。

 

Pingora Rust 代码可在GitHub上获取。

 

Pingora 项目地址:https://github.com/cloudflare/pingora

 

参考链接:https://www.phoronix.com/news/Cloudflare-Pingora-Open-Source

2024-02-29 10:537990
用户头像
李冬梅 加V:busulishang4668

发布了 1238 篇内容, 共 853.9 次阅读, 收获喜欢 1325 次。

关注

评论 1 条评论

发布
用户头像
终于开源了,等了好久了,昨天还在想这个事情。
2024-02-29 18:35 · 广东
回复
没有更多了
发现更多内容

HashMap源码分析 —— 一篇文章搞定HashMap面试

android 程序员 移动开发

Http 状态码详解

android 程序员 移动开发

Java 网络:InetAddress类的应用以及通过Socket实现TCP编程

android 程序员 移动开发

JetPack现在都成了Android开发必备技能嘛?

android 程序员 移动开发

GridLayoutManager这么用,你可能还真没尝试过

android 程序员 移动开发

HashMap及HashTable源码解析

android 程序员 移动开发

hencoder学习自定义view(1)

android 程序员 移动开发

HTTPS工作原理以及Android中如何防止抓包

android 程序员 移动开发

IOS开发之——事件处理-hiTest(69)

android 程序员 移动开发

JNI 与 NDK 入门(一)

android 程序员 移动开发

Gson用户指南

android 程序员 移动开发

Java之JNI初步认识

android 程序员 移动开发

Jaxb2 实现JavaBean与xml互转

android 程序员 移动开发

hook(1)入门篇

android 程序员 移动开发

Java的Url编码和解码

android 程序员 移动开发

Jetpack系列(一) — Navigation

android 程序员 移动开发

Jetpack系列——ViewModel

android 程序员 移动开发

IOS开发之——CABasicAnimation(95)

android 程序员 移动开发

JAVA-Android-多线程实现方式及并发与同步

android 程序员 移动开发

Java线程(十):CAS

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!

android 程序员 移动开发

HTTPS详解

android 程序员 移动开发

IOC架构设计之Dagger2架构设计(三)

android 程序员 移动开发

Jetpack Compose 1

android 程序员 移动开发

Http详解

android 程序员 移动开发

Java 创建型模式:单态模式,原型模式,工厂方法

android 程序员 移动开发

JETPACK-COMPOSE-ALPHA-版现已发布!(1)

android 程序员 移动开发

Fabric.js 从入门到________

德育处主任

大前端 可视化 canvas 画布 FabricJS

Jetpack-在数据变化时如何优雅更新Views数据

android 程序员 移动开发

JS Bridge实现

android 程序员 移动开发

Koltin28

android 程序员 移动开发

Cloudflare开源基于Rust语言的Pingora框架_编程语言_李冬梅_InfoQ精选文章