各云原生应用引擎概念与特点分析

最佳答案 匿名用户编辑于2023/05/19 08:50

以下是关于主流的云原生应用引擎的介绍,如果有兴趣了解更多相关的内容,请下载原报告阅读。

1.NGINX 介绍

(1) NGINX 简介

NGINX 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、POP3、 SMTP 代理服务器;NGINX 可以作为一个 HTTP 服务器进行网站的发布处理,另外 NGINX 可以作为反向代理 进行负载均衡的实现。

(2) NGINX 的特点

更快:单次请求响应更快,高并发可以更快的处理响应。

高拓展性:设计极具扩展性,由多个不同功能、不同层次、不同类型且耦合度极低的模块组成。

高可靠性:很多高流量网站都在核心服务器上大规模使用 NGINX。

低内存消耗:一般 1 万个非活跃的 HTTP Keep-Alive 连接在 NGINX 中仅消耗 2.5MB 内存。

高并发:单机支持 10 万以上的并发连接。

热部署:master 管理进程与 worker 工作进程的分离设计,使得 NGINX 能够支持热部署。

2.NJet 介绍

(1) NJet 简介

NJet 派生自 NGINX,并独立演进的开源应用引擎,可以作为 Web server / 应用代理 / 出入口网关等多种 形式部署。由于继承于 NGINX ,NJet 天生具有高性能、稳定、易扩展的特点。同时 NJet 也解决了 NGINX 长 期存在的难于动态配置、管理功能影响业务等问题。

(2) NJet 特点:

在 NGINX 的 master 和 worker 主运行框架基础上,增加了 Copilot 协助进程框架,用于提供配置管理 功能,并避免此类功能对业务的干扰。

提供动态配置能力框架,用于对现有模块进行动态配置改造,从而避免 reload / restart 对业务的打扰。

内置 HA 能力,可以自动构建高可用集群。

内置集群、配额限制等企业特性。

提供单机管理 API/GUI,便于集成,也利用轻量化部署。

3.Envoy 介绍

(1) Envoy 简介

Envoy 是作为微服务架构中以独立进程方式实现高级网络功能的,轻量级 7 层服务代理,通常以边车的方 式运行在应用程序的周边,或者作为网络的边缘代理来运行。

(2) Envoy 特点

进程外体系结构 : Envoy 是一款自包含的高性能服务器,具有很小的内存占用空间,它与任何应用程 序语言或框架一起运行。

HTTP/2 支持 : Envoy 对出入流量都有 HTTP / 2 和 gRPC 支持,是一个透明的 HTTP / 1.1 到 HTTP / 2 代理。

高级负载均衡 : Envoy 支持高级负载均衡功能,包括自动重试、断路、全局速率限制、请求镜像和区 域本地负载均衡等。

服务发现和动态配置 : Envoy 提供 API 来动态管理其配置。

可观测性 : 深入观测 L7 流量,原生支持分布式跟踪。

4.API7 介绍

(1) API7 简介

API7 是云原生、高性能、可扩展的微服务 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身 份认证、可观测性等丰富的流量管理功能。API7 基于 NGINX 的 OpenResty 分支实现,主要利用 OpenResty 提供的 LUA 扩展能力,实现 API 网关需要的多种业务特性。

(2) API7 特点

高可用:API7 默认选用 etcd 作为配置中⼼得 API7 可以支持毫秒级配置更新、支撑数千网关节点;网 关节点无状态,可任意扩容或缩容。

协议转换:支持丰富的协议类型,如 TCP/UDP、 Apache Dubbo、 MQTT、 gRPC、 SOAP、 WebSocket 等。

安全防护:内置多种身份验证与安全防护能力,如 Basic Auth、JSON Web Token、IP 黑白名单、 OAuth 等。

性能高:API7 使用 Radixtree 算法实现高性能、灵活路由。

全动态能力:修改网关配置、增加或修改插件等,无需重启网关服务即可实时生效;支持动态加载 SSL 证书。

扩展能力强:借助灵活的插件机制,可针对内部业务完成功能定制;支持自定义负载均衡算法与路由 算法,不受限于 API 网关实现。

治理能力丰富:如故障隔离、熔断降级、限流限速等。

5.Kong 介绍

(1) Kong 简介

Kong 是 由 Mashape 公 司 开 源 API 网 关, 基 于 OpenResty(NGINX 结 合 LUA 模 块 ) 和 Apache Cassandra 或 PostgreSQL 构建。Kong 的三个主要组件为 Kong server :基于 NGINX 的服务器,用来接收 API 请求;Apache Casssandra/PostgreSQL:用来存储操作数据;Kong dashboard:官方推荐 UI 管理工具。

(2) Kong 特点:

扩展性好:内置插件编写的 API 用于特定功能扩展。

丰富的功能模块:包括身份认证、安全控制、流量控制、分析监控、协议转换、日志应用等。

动态配置能力:可以通过声明式或 Restful 接口可进行高级路由、主动健康检查等各种配置。

授权认证功能丰富:可支持 JWT、OAUTH 或基于 ACL 的访问控制。 原生的 KIC 支持。