写点什么

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

发布了 376 篇内容, 共 203.9 次阅读, 收获喜欢 949 次。

关注

评论

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

全链路压测(七):核心链路四问

老张

性能测试 全链路压测 稳定性保障

关于云端应用开发语言选择

穿过生命散发芬芳

3月月更

低代码实现探索(三十八)业务场景封装

零道云-混合式低代码平台

【Vue】整合tinymce富文本编辑器

TaurusCode

Vue tinymce 富文本编辑器

Linux之rcp命令

入门小站

Linux

kube-scheduler源码分析(3)-抢占调度分析

良凯尔

Kubernetes 容器 源码分析 云原生 容器云

IntellJ IDEA诺依开发部署文档

北极的大企鹅

开源 开源技术

[算法练习]3 三数之和

暖蓝笔记

3月月更 38妇女节

小程序大未来

源字节1号

微信小程序 开源 前端开发 后端开发

ModelArts框架入门开发(完成物体分类、物体检测)

DS小龙哥

深度学习 3月月更

在线上传图片二维码识别解析

入门小站

工具

《减压脑科学》有田秀穗

xujiangniao

读书

基于开源组件打造Kafka自治集群

俞凡

架构 Slack 大厂实践 3月月更

实用机器学习笔记二十七:深度神经网络架构

打工人!

深度学习 学习笔记 机器学习算法 3月月更

2022第10周-职业素养被触动的瞬间

李印

总结思考

《软件开发的201个原则》思考:1.质量第一

非晓为骁

个人成长 软件开发 软件质量 工程师文化

一日为期,极行千里 ——「企业级零代码黑客马拉松」正式启动报名

明道云

Java八股文1—Java平台概览

javaadu

Java 面试题 Java八股文

Spring cloud 之 CircuitBreaker篇

邱学喆

Spring Cloud circuit break Resilience4j

Vue3 企业级网站建设

源字节1号

小程序 开源 前端开发

在线JSON转toml工具

入门小站

工具

微博评论系统的高性能高可用计算架构

阿卷

架构实战营

【CAD】快捷键大全

謓泽

3月月更

JavaScript 基础(二):函数

devpoint

JavaScript 作用域 函数绑定 3月月更

12个iOS技术面试题及答案总结

原来是泽镜啊

ios 程序员 架构师 ios开发

八个Docker的真实应用场景

hongfei

Docker 容器

订单系统的设计(20/100)

hackstoic

技术架构

Web 键盘输入法应用开发指南 (7) —— 开发实战(二)

天择

JavaScript 键盘 实战 输入法 3月月更

Shell速查手册

陈新卫

算法训练营总结

施正威

微博评论高性能高可用架构

smile

架构实战营

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