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 )关注我们。
评论