写点什么

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:005477
用户头像

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

关注

评论

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

管事情的过程,如何聚焦并决策高价值的事?

一笑

管理 优先级队列 28天写作

浅谈JavaScript常见的循环方式

devpoint

foreach for for...of

机器学习笔记之:虽然还没明白到底是在干嘛,但竟然还觉得挺有意思的!

Nydia

如何做到超预期供应

熊斌

28天写作

NullPointerException 的处理新方式,Java14 真的太香了!

xcbeyond

Java java 14 新特性 28天写作

创业失败启示录|茶之玄学

阿萌

28天写作 创业失败启示录 青城

《破壁MySQL》 - MySQL索引

haxianhe

MySQL

《学会写作》学习笔记之如何选题

JiangX

28天写作

怀着期待开启美好的一天「幻想短篇 23/28」

道伟

28天写作

碎碎念之「创造力可能是新的生产力」

Justin

创意 28天写作 创造性思维

“复制”马斯克(三):我们要为他的“反智事业”买单吗?

脑极体

设计模式简单讲 - 适配器设计模式

小马哥

Java 设计模式 架构师 七日更

开发质量提升系列:表字段名称引发的血案

罗小龙

代码规范 28天写作

外企时代已经过去?

李忠良

28天写作

设计模式: 工厂模式

爱笑的小雨

设计模式 23种设计模式 Java设计模式

webpack | 谈谈webpack的本质

梁龙先森

大前端 webpack 28天写作

我的电脑嘲讽我!

IT蜗壳-Tango

七日更

LeetCode题解:433. 最小基因变化,BFS+生成所有可能新基因再匹配,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

小产品、连接和生态

孙苏勇

产品 产品定位

批判性思维自修课(四)

石君

28天写作 批判性思维

mPaas上线应用检测

阿里云金融线TAM SRE专家服务团队

ios android RPC

产品训练营-第六课笔记

Geek_娴子

GameStop: 究竟发生了什么?

lidaobing

28天写作 逼空

CSS(九)——盒子的浮动与定位

程序员的时光

程序员 七日更 28天写作

阿里架构师集一生内力编撰的笔记,到底有什么干货?

Java架构师迁哥

28天瞎写的第二百三十三天:唯工具论的错误

树上

28天写作

项目管理知识标准体系

Ian哥

28天写作

年关将至

luojiahu

架构师训练营第10周课后作业

万有引力

管理笔记[2]:独裁者X与民主统治者Y

L3C老司机

还不清楚Lambda的底层原理?一文帮你搞懂

后台技术汇

28天写作

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