构建没有 Nginx 的未来?
出品 | OSC开源社区(ID:oschina2013)
去年曾报道过,Cloudflare 将 Nginx 替换为内部采用 Rust 编写的 Pingora,目标是构建一个更快、更高效、更通用的内部代理,用作 Cloudflare 当前和未来产品的平台。不过 Cloudflare 的基础设施非常庞大,并且包含许多不同的服务。
近日,Cloudflare 工程师介绍了如何使用 Rust 重写基于 C 语言的 Nginx 模块。Cloudflare 工程师在博客写道,他们用 Rust 为 Cloudflare 基础设施中最古老和最不为人所知的部分 ——cf-html,编写了替代品。这是一个 Nginx 模块,位于 Cloudflare 的核心反向 Web 代理内部,亦称为 FL (Front Line)。
FL 运行着 Cloudflare 应用程序服务的大部分逻辑,因此这次替换无疑更具挑战性。Cloudflare 称,完成这项工作为他们完全摆脱 Nginx 铺平了道路。未来他们会继续逐步更换用于运行 Nginx/OpenResty 代理的组件,或者无需对自研平台投入大量开发资源就可以完成的组件,从而构建一个没有 Nginx 的未来 (A future without NGINX)。
Cloudflare 工程师非常热爱 Rust 语言,他们最后谈到了 Rust 带来的好处:“大多数人认为编程语言的安全性主要是用于预防出现 bug,但对于一家公司来说,我们发现编程语言的安全优势还可以用来完成一些被认为非常困难、或不可能安全实现的功能需求。比如提供类似 Wireshark 的过滤语言来编写防火墙规则、允许数百万用户编写任意 JavaScript 代码并直接在我们的平台上运行它,以及即时重写 HTML 响应。在实现上述功能过程中,Rust 为这些服务提供了严格的执行边界,让不可能变成可能。与此同时,Rust 让过去困扰行业的内存安全问题日益成为过去。”
相关链接:
https://blog.cloudflare.com/rust-nginx-module
https://twitter.com/Cloudflare/status/1629119206770847744
------
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!
推荐阅读
··································
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。
相关文章
- nginx 实现动静分离访问项目资源
- Nginx配置文件(nginx.conf)配置详解
- Nginx代理转发_nginx代理和转发的区别
- 35·灵魂前端工程师养成-使用nodejs实现简单nginx功能
- Nginx负载均衡策略_nginx高可用集群和负载均衡集群
- 使用 Docker、Nginx 和 ttyd 提供稳定的 Web 终端服务
- nginx反向代理和负载均衡详解程序员
- Nginx的nginx.conf配置文件中文注释说明详解程序员
- Centos下yum安装Nginx报错 No package nginx available.详解程序员
- 简易nginx TCP反向代理设置详解程序员
- nginx如何自动切割访问日志详解架构师
- Linux下安装Nginx迈出新步伐(linux安装nginx)
- Linux下如何快速删除Nginx(linux删除nginx)
- Linux下清除流行Nginx服务(linux删除nginx)
- 文件如何在Linux系统中删除Nginx文件(linux删除nginx)
- 缓存Linux实现Nginx缓存的快速删除(linux删除nginx)
- 服务如何在Linux中删除Nginx服务(linux删除nginx)
- 缓存 如何快速删除Linux下Nginx缓存(linux删除nginx)
- 配置Linux下删除Nginx配置的步骤(linux删除nginx)
- Docker compse实战案例-实现单机版的Haproxy+Nginx+Tomcat
- nginx之健康检查
- Nginx网站架构实战——15、nginx实现负载均衡
- Nginx+Tomcat+Keepalived实现高可用web集群
- linux环境配置nginx导致页面不刷新的解决方法