云原生时代的流量发动机

应用引擎是面向互联网和云原生应用提供的运行时组态服务程序。具备环境感知、安全控制、加速优化等能力,一般呈现为 Web 服务、流媒体服务、代理 (Proxy)、应用中间件、API 网关、消息队列等产品形态。

互联网时代国际主流的应用引擎包括:NGINX , Apache , IIS 等。

在云原生时代有许多新的轻量级应用引擎涌现,比较流行的云原生应用引擎包括: NGINX (C 语言) Envoy (C++ 语言) Linkerd (Rust 语言) 等。

在云原生架构中,应用引擎除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信、透明 流量劫持、熔断、遥测与故障注入、链路追踪、蓝绿发布等新功能特性,因此应用引擎在云原生架构中发挥着更为关键的作用。

 应用引擎的产品形态

如上图所示,应用引擎产品形态包括 Web 服务器、流媒体服务器、应用服务器和代理服务器等。其中, 代理服务器又可分为正向代理、反向代理、边车和消息代理等产品。

(1) Web 服务器

Web 服务器是 World Wide Web 服务器的简称,又称为网页服务器,主要功能是提供互联网信息服务, 能够为各种客户端提供如 WWWEmailFTP 等互联网服务。常见的 Web 服务器有 ApacheNGINXIIS 等。

Web 服务器具有接口通用性好和可扩展性强的特点。以 NGINX 为例,它是一款轻量级 Web 服务器,采 用异步高并发多进程模型,性能优异、占用内存和资源少,既可以用于静态文件解析,也可以通过扩展服务提 供动态内容。

在云计算领域,Web 服务器是应用引擎中最为广泛的产品形态。

(2) 流媒体服务器

流媒体服务器是专注于提供音视频资源在线播放的应用服务器,大多是通过标准的 Web 服务器附加特定 的音视频处理功能实现,从而满足人们对音视频传输质量和响应时延的要求。

NGINX 为例,其中的 Flv Stream 模块能实现流媒体的功能,而且支持 flv 视频进度条拖拽,另外 NGINX 还可以作为反向代理服务器提供基于 Flash Media Server 或者 Red5 RTMP/RTMP 流媒体服务。

  基于其实时性和多媒体展示能力,流媒体服务器已经成为云原生应用引擎服务的一种重要形态。

(3) 应用服务器

应用服务器是部署特定应用的软件平台,如 NGINXWeblogicTomcat。应用服务器一般会实现可插拔 的协议处理框架,具备多语言编程接口。

NGINX 为例,它可以通过 NGINX FASTCGI 的方式运行 PHPJSP 或其他语言编写的应用服务,并 可以通过插入特定协议的实现模块支持如 DubbogRPC 类似的企业应用。

  基于简洁高效的编程语言,应用服务器成为构建微服务的基础和云原生应用引擎的重要形态。

(4) 代理服务器 (Proxy)

代理服务器是客户端和服务端的中介,如 NGINXEnvoy 等。主要功能是信息的访问控制、应用加速及 信息隐藏。代理服务器分为两类,正向代理服务器 (forward proxy) 和反向代理服务器(reverse proxy)。反 向代理服务器代理外部请求访问内部网络的服务,而前者代理内部请求访问外部网络的服务。

明确支持特定协议的代理服务器被称为 7 层代理,最常支持的协议类型为 HTTP/S。相对应的,不解析内容, 仅仅进行 TCP/UDP 端口转发的被称为 4 层代理。

NGINX 为例,通过不同的模块对 4 / 7 层进行了良好的高性能支持,7 层上支持 HTTP1.xHTTP2 HTTP3,并通过插件机制实现对特定 7 层协议的定制支持。

在云原生架构中,代理服务器通过入 / 出口网关、边车等角色成为重要的应用引擎产品形态。


OpenNJet 最早是基于 NGINX1.19 基础 fork 并独立演进,随着 NGINX 版本迭代,吸收上游 NGINX 的更新,已经同步更新到 NGINX1.23.1 版本,OpenNJet 具有高性能、稳定、易扩展的特点,同时也解决了 NGINX 长期存在的难于动态配置、管理功能影响业务等问题。

作为底层引擎,OpenNJet 利用动态加载机制可以实现不同的产品形态,如 API 网关、消息代理、出入向代理,负载均衡,WAF 等等。在云原生架构中,OpenNJet 除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信、透明流量劫持、熔断、遥测与故障注入等新功能特性。

云原生引擎,All in NJet:https://gitee.com/njet-rd

罚款 200 元,没收 100 多万 尤雨溪:高质量中文文档的重要性 马斯克硬核迁移服务器 TCP 拥塞控制拯救了互联网 Apache OpenOffice 是事实上的“无人维护”项目 Google 庆祝成立 25 周年 微软开源 windows-drivers-rs,用 Rust 开发 Windows 驱动程序 Raspberry Pi 5 将于 10 月底发布,60 美元起售 macOS Containers:在 macOS 用 Docker 运行 macOS 镜像 IntelliJ IDEA 2023.3 EAP 发布
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/6606114/blog/10098727