原文地址: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發(fā)布了他們最新的付費(fèi)版本——NGINX Plus R12。NGINX Plus R12帶來了一個可以使集群配置更簡單的“配置分享”功能舶胀,并且正式支持nginScript語言,還提升了監(jiān)控、指令懒棉、緩存方面的性能以及可靠性。
配置分享是這個版本推出的新功能览绿,可以將同一份配置推送到整個NGINX集群的各個節(jié)點(diǎn)策严。集群是一個可以帶來高可用性的方案,例如當(dāng)我們使用active-active配置時挟裂,可以將冗余的NGINX節(jié)點(diǎn)來為主節(jié)點(diǎn)做后備享钞,或者使用 active-active配置時,則會有多個NGINX節(jié)點(diǎn)在同一時間來分擔(dān)流量诀蓉。而NGINX Plus R12則推出了一種新的集群配置:一個節(jié)點(diǎn)作為master栗竖,其他節(jié)點(diǎn)作為peer。master的配置可以通過新的nginx-sync.sh腳本命令來分享到各個peer渠啤,以此來實(shí)現(xiàn)驗(yàn)證各個peer上配置是否合法并重啟狐肢,或者在錯誤操作后回滾。配置共享特性也可用于將配置從準(zhǔn)生產(chǎn)(staging)服務(wù)器可靠地推送到生產(chǎn)服務(wù)器集群中沥曹。
另外還有一個改動值得一提份名,NGINX在R12中做了很多對于nginScript的 優(yōu)化碟联,包括對更多字符串操作、ECMAScript 6 Math 方法以及常量的支持僵腺。nginScript是一種基于JavaScript的語言鲤孵,可以用來自定義NGINX的行為。更重要的是辰如,nginScript現(xiàn)在已經(jīng)是穩(wěn)定版普监。它擴(kuò)展了配置文件的語法,并且在付費(fèi)版和開源版中都可以使用琉兜。nginScript還可以讓我們實(shí)現(xiàn)自定義的流量控制方案凯正,例如負(fù)載均衡算法,自定義的會話控制豌蟋,甚至實(shí)現(xiàn)一些簡單的web服務(wù)廊散。
另外,NGINX Plus R12還帶來了以下幾個方面的改進(jìn):
- 靜態(tài)資源:服務(wù)相應(yīng)延遲和共享內(nèi)存的利用率得到了優(yōu)化梧疲,并修改TCP/UDP服務(wù)方面的錯誤代碼允睹。
- 緩存:支持 RFC 5861中的 stale-while-revalidate和 stale-if-error 規(guī)則,并將緩存的校驗(yàn)轉(zhuǎn)移到后臺執(zhí)行往声。
- 健康檢查(Health-check):NGINX Plus 12可以延遲發(fā)送流量到新添加的節(jié)點(diǎn)擂找,直到它通過健康檢查,以此來提高服務(wù)的可用性浩销。
NGINX Plus 12還介紹了一些在行為方面的改動贯涎,比如內(nèi)部緩存的格式,隊(duì)列管理配置的語法等慢洋。使用前請閱讀官方聲明塘雳。