写点什么

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

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

关注

评论

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

从 Object.assign 开始了解ES2015

devpoint

浅拷贝和深拷贝 ECMAScript 6 assign

运营管理

Qien Z.

5月日更

Go 并发编程-channel 连接一切

Rayjun

Go 语言

想要成为架构师?你只要满足这些条件就可以

华为云开发者联盟

设计 工程师 架构师 软件系统 软件架构师

人生算法:找到可复制的最小内核

石云升

读书笔记 5月日更 人生算法

专家谈 AI:2021 年人工智能发展趋势(下)

容光

智慧金融发展-转述

容光

【Flutter 专题】125 图解自传 ACE_ICON.ttf 图标库

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

盘点golang中的开发神器

捉虫大师

Go 语言

区块链与数字化转型的关系

CECBC

dubbo-go v3 版本 go module 踩坑记

apache/dubbo-go

Apache dubbo dubbo-go

《看板方法官方指南》中文版发布了!

Bruce Talk

敏捷 Kanban Agile

Nginx通过Cookie做灰度就这么简单

运维研习社

nginx 运维 灰度发布 5月日更

日志收集组件—Flume、Logstash、Filebeat对比

数据社

大数据 5月日更

Golang最细节篇— struct{} 空结构体究竟是啥?

奇伢云存储

云存储 Go 语言

AI、智能健康与货币技术迎来大爆炸

容光

区块链 AI

网络攻防学习笔记 Day28

穿过生命散发芬芳

5月日更 网络攻防

2021北京人工智能展览会-转述

容光

虚拟机如何实现synchronized

wzh

虚拟机 并发 synchronized Java EE

技术管理课学习笔记 01

escray

学习 极客时间 5月日更

数智化社会供应链助力消费体验提升 京东图书千万好书“先5折再满减”

科技范儿

一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识

华为云开发者联盟

MySQL 索引 时间戳 char int

你是做敏捷与DevOps的,还是做掉敏捷与DevOps的?

刘华Kenneth

DevOps 敏捷 转型 教练

智能IP先锋:从园区网络智能变革,到数字化转型新突破

脑极体

发展农村数字普惠金融的问题及对策分析

CECBC

全国首创“区块链+信用”平台即将上线

CECBC

2021智能制造、智慧金融、智能安全有何发展趋势

容光

AI 金融

技术栈,我该拿你怎么简化?

VoltDB

数据分析 5G 堆栈 边缘计算

MySQL数据库事务隔离性的实现

华为云开发者联盟

MySQL 数据库 事务 数据库隔离 事务隔离

5分钟速读之Rust权威指南(十二)

wzx

rust

2021年CES十款智能家居黑科技产品

容光

人工智能

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