原文地址:https://www.infoq.com/news/2017/03/nginx-plus-12-released
InfoQ中文翻譯:http://www.infoq.com/cn/news/2017/03/nginx-plus-12-released?utm_source=infoq_en&utm_medium=link_on_en_item&utm_campaign=item_in_other_langs
Nginx發布了他們最新的付費版本——NGINX Plus R12。NGINX Plus R12帶來了一個可以使集群配置更簡單的“配置分享”功能,并且正式支持nginScript語言,還提升了監控、指令、緩存方面的性能以及可靠性。
配置分享是這個版本推出的新功能,可以將同一份配置推送到整個NGINX集群的各個節點。集群是一個可以帶來高可用性的方案,例如當我們使用active-active配置時,可以將冗余的NGINX節點來為主節點做后備,或者使用 active-active配置時,則會有多個NGINX節點在同一時間來分擔流量。而NGINX Plus R12則推出了一種新的集群配置:一個節點作為master,其他節點作為peer。master的配置可以通過新的nginx-sync.sh腳本命令來分享到各個peer,以此來實現驗證各個peer上配置是否合法并重啟,或者在錯誤操作后回滾。配置共享特性也可用于將配置從準生產(staging)服務器可靠地推送到生產服務器集群中。
另外還有一個改動值得一提,NGINX在R12中做了很多對于nginScript的 優化,包括對更多字符串操作、ECMAScript 6 Math 方法以及常量的支持。nginScript是一種基于JavaScript的語言,可以用來自定義NGINX的行為。更重要的是,nginScript現在已經是穩定版。它擴展了配置文件的語法,并且在付費版和開源版中都可以使用。nginScript還可以讓我們實現自定義的流量控制方案,例如負載均衡算法,自定義的會話控制,甚至實現一些簡單的web服務。
另外,NGINX Plus R12還帶來了以下幾個方面的改進:
- 靜態資源:服務相應延遲和共享內存的利用率得到了優化,并修改TCP/UDP服務方面的錯誤代碼。
- 緩存:支持 RFC 5861中的 stale-while-revalidate和 stale-if-error 規則,并將緩存的校驗轉移到后臺執行。
- 健康檢查(Health-check):NGINX Plus 12可以延遲發送流量到新添加的節點,直到它通過健康檢查,以此來提高服務的可用性。
NGINX Plus 12還介紹了一些在行為方面的改動,比如內部緩存的格式,隊列管理配置的語法等。使用前請閱讀官方聲明。