NGINX Plus R12 提供了集群配置共享并改进了 nginScript

  • Sergio De Simone
  • Rays

2017 年 3 月 23 日

话题:语言 & 开发

Nginx发布了 NGINX Plus 第 12 版(R12)。NGINX Plus 是广为使用的 NGINX 开源 Web 服务器的付费版本,R12 新实现了一个用于简化集群的配置共享特性,提供了对 nginScript 语言的官方支持,并在监控及测量工具(instrumentation)、缓存、可靠性等方面上做了改进。

配置共享是 R12 中实现的一种新机制,可使同一配置被推送到 NGINX 集群中各个节点上。节点集群用于确保高可用性,例如使用主备(active-passive)配置时,需要为集群添加一个或多个非活跃的 NGINX 节点,用于提供对主节点的冗余;而是用双活(active-active)配置时,可使用两个或更多的 NGINX 节点同时处理流量。NGINX Plus R12 新引入了一种集群配置,使得集群中有一个节点充当主节点,而其它作为对等节点(peer)。运行新提供的 nginx-sync.sh 命令就可以将主节点的配置共享给所有的对等节点。该命令会确保配置对每个对等节点有效,然后重启各个节点,并在发生问题时回滚节点的配置。配置共享特性也可用于将配置从准生产(staging)服务器可靠地推送到生产服务器集群中。

R12 给出的另一个显著更改是对nginScript的一系列改进。nginScript 是一种用于定制 NGINX 行为的语言,它是基于 JavaScript 的,包括了对更多字符串操作的支持,以及支持 ECMAScript 6 中 Math 对象的方法与常量。更为重要的是,现在可以认为 nginScript 已达到稳定了。据 Nginx 介绍,NGINX 的付费和开源版本均可使用 nginScript,扩展配置文件所用的语法,进而创建定制的流量处理解决方案,例如负载均衡算法、定制会话保持,乃至实现简单的 Web 服务。

此次发布中,还提及了 NGINX Plus R12 在如下方面上的改进:

  • 统计度量:提供了新的度量,例如服务器响应时间、共享内存区域使用情况和 TCP/UDP 服务的错误代码等。
  • 缓存机制:现在支持RFC 5861的 stale-while-revalidate 和 stale-if-errorCaching 策略,并实现了缓存重验证(revalidate)在后台执行。
  • 健康检查:为改进集群的可靠性,可配置 NGINX Plus R12 延迟发送流量到新添加节点,直至新节点通过了设置好的监控检查。

NGINX Plus R12 中还有其它一些行为上的改进,例如内部缓存格式、使用队列指令时的更改配置语法等。详细内容可从官方声明中了解。

查看英文原文: NGINX Plus R12 Brings Master-Peer Configuration Sharing, Improved Scripting, and More


感谢冬雨对本文的审校。

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

语言 & 开发