写点什么

NGINX 发布微服务平台、OpenShift Ingress Controller 和 Service Mesh 预览版

  • 2017-09-25
  • 本文字数:1836 字

    阅读完需:约 6 分钟

在美国波特兰举行的 nginx.conf 大会上,Nginx 公司发布了 NGINX 应用平台,这是一套基于开源技术构建的四种产品,旨在为开发部署、管理和观测微服务提供“一站式服务”。另外发布的版本还包括 Kubernetes Ingress Controller 解决方案,用于 Red Hat OpenShift 容器平台上的负载平衡,以及将 NGINX 作为 Istio Service Mesh (服务网格)控制面板的服务代理的实现。

新的 NGINX 应用平台由以下组件组成:

NGINX Plus 由 Web 服务器、内容缓存和负载均衡器组成。NGINX Web 应用程序防火墙(WAF)是一款基于开源 ModSecurity 研发的商业软件,为针对七层的攻击提供保护,例如 SQL 注入或跨站脚本攻击,并根据如 IP 地址或者报头之类的规则阻止或放行, NGNX WAF 作为 NGINX Plus 的动态模块运行,部署在网络的边缘,以保护内部的 Web 服务和应用程序免受 DDoS 攻击和骇客入侵。

NGINX Unit 是 Igor Sysoev 设计的新型开源应用服务器,由核心 NGINX 软件开发团队实施。Unit 是“完全动态的”,并允许以蓝绿部署的方式无缝重启新版本的应用程序,而无需重启任何进程。所有的 Unit 配置都通过使用 JSON 配置语法的内置 REST API 进行处理,并没有配置文件。目前 Unit 可运行由最近版本的 PHP、Python 和 Go 编写的代码。在同一台服务器上可以支持多语言的不同版本混合运行。即将推出更多语言的支持,包括 Java 和 Node.JS。

NGINX Controller 是 NGINX Plus 的中央集中式监控和管理平台。Controller 充当控制面板,并允许用户通过使用图形用户界面“在单一位置管理数百个 NGINX Plus 服务器”。该界面可以创建 NGINX Plus 服务器的新实例,并实现负载平衡、 URL 路由和 SSL 终端的中央集中配置。Controller 还具备监控功能,可观察应用程序的健壮性和性能。

图 1. NGINX 应用平台(图片来自 NGINX 博客

新发布的 NGINX Plus(Kubernetes) Ingress Controller 解决方案基于开源的 NGINX kubernetes-ingress 项目,经过测试、认证和支持,为 Red Hat OpenShift 容器平台提供负载平衡。该解决方案增加了对 NGINX Plus 中高级功能的支持,包括高级负载平衡算法、第 7 层路由、端到端认证、request/rate 限制以及内容缓存和 Web 服务器。

NGINX 还发布了 nginmesh ,这是 NGINX 的开源预览版本,作为 Istio Service Mesh 平台中第 7 层负载平衡和代理的服务代理。它旨在作为挎斗容器(sidecar container)时,能提供与 Istio 集成的关键功能,并以“标准、可靠和安全的方式”促进服务之间的通信能力。此外,NGINX 将通过加入 Istio 网络特别兴趣小组,与 Istio 社区合作。

最近,“ Service Mesh ”的概念越来越受欢迎,因为它允许开发人员通过基础网格(或通信总线)来管理服务之间的流量,实现基于微服务的应用的松散藕合,实施访问策略和聚合遥测数据。Istio 是由 Google、IBM、Lyft 等领导的开源服务网格项目,目标是为服务代理的数据平面提供控制面板。目前,Istio 与 Kubernetes 紧密集成,但也有支持虚拟机的计划:如 Cloud Foundry 之类的 PaaS ,以及潜在“无服务器” FaaS 产品等平台。

默认情况下,Istio 使用 Matt Klein 和 Lyft 团队创建的 Envoy 服务代理,并在 Lyft 生产环境中已使用多年。NGINX 似乎并非唯一一家实现在微服务网格中提供并拥有服务代理组件的潜在优势公司,因为 Buoyant 也正在修改其基于 JVM 的服务代理 Linkerd (由 Twitter Finagle 栈孵出),用于与 Istio 集成。

NGINX nginmesh Istio 服务代理模块:为 NGINX Web 服务本身采用的是 Golang 编写而不是 C ,与作为挎斗模式运行的开源 NGINX 集成(如图 2 所示),并声称“占用的空间很小,具备先进的负载平衡算法的高性能代理、缓存、SSL 终端、使用 Lua 和 nginScript 的脚本功能、以及具备细粒度访问控制的各种安全功能。”

图 2. NGINX nginmesh 架构(图片来自 nginmesh GitHub repo

有关 nginx.conf 中所有 NGINX 版本和公告的更多详细信息,请参见 NGINX 博客

查看英文原文: NGINX Releases Microservices Platform, OpenShift Ingress Controller, and Service Mesh Preview


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-09-25 19:005359
用户头像

发布了 375 篇内容, 共 185.1 次阅读, 收获喜欢 944 次。

关注

评论

发布
暂无评论
发现更多内容

【C语言】enum 枚举类型

謓泽

11月月更

AIOps

星际行者

数据预处理和特征工程-数据预处理-特征选择-方差过滤

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

【愚公系列】2022年11月 微信小程序-app.json配置属性之debug

愚公搬代码

11月月更

功能强大的开源网络监控工具:LibreNMS,牛逼!

wljslmz

网络监控 11月月更 LibreNMS

混沌工程

星际行者

透过Net5.5G的棱镜,运营商可以见未来,见机遇

脑极体

深入理解客户端篇之OkHttp

邱学喆

websocket 任务调度 连接池 OkHttp3

动态路由协议二

初学者

动态路由 11月月更

【设计模式】以国足的例子来解释代理模式,希望自己不要被退钱

游坦之

设计模式 11月月更

架构误区系列3:单元测试依赖外部环境

agnostic

测试 单元测试

混沌工程实践

星际行者

对苹果产品一个非常好的评价

星际行者

万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!

Python猫

Python

Testbench 的编写与应用

芯动大师

Verilog 11月月更 testbench

TSDB助力风电监控

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Java Web(七)Request&Response

浅辄

javaWeb Request Response 11月月更

综合实验 配置三层 热备 生成树 ospf 和 rip 以及他们之间的重分发等将内网 全通

初学者

网络 11月月更

灰度发布设计

星际行者

探知数字化研发2 - 企业架构篇

薛飞

研发管理 数字化 企业构架

支持日均亿级交易处理,腾讯云&金蝶“国产数据库联合解决方案”正式发布

科技热闻

API安全问题的原因及挑战

阿泽🧸

API 11月月更

算法题学习---链表中倒数最后k个结点

桑榆

算法题 11月月更

Java Web(六)Servlet

浅辄

javaWeb Servlet 11月月更

2022-11-12:以下rust语言代码中,结构体S实现了crate::T1::T2的方法,如何获取方法列表?以下代码应该返回[“m1“,“m2“,“m5“],顺序不限。m3是S的方法,但并不属于c

福大大架构师每日一题

rust 福大大

为什么大家都喜欢使用宝塔面板?

源字节1号

微信小程序 软件开发

SQL语句对基本表的修改表结构和数据完整性

乔乔

11月月更

阿里CTO程立:只有全面Serverless化才能实现真正的深度用云

Geek_2d6073

架构误区系列2:exactly once的消息中间件不需要考虑消息重投

agnostic

消息中间件

Pod 运行时调试

星际行者

常见的数据指标体系

穿过生命散发芬芳

数据指标 11月月更

NGINX 发布微服务平台、OpenShift Ingress Controller 和Service Mesh预览版_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章