Spring Cloud實戰(zhàn)小貼士:Zuul的饑餓加載(eager-load)使用
上一篇我們介紹了如何使用Ribbon的earger-load配置加速Spring Cloud中對服務接口的***次調用??墒沁@樣只是解決了內部服務間的調用,另外一個問題依然經常困擾我們,那就是網關到內部服務的訪問。由于Spring Cloud Zuul的路由轉發(fā)也是通過Ribbon實現負載均衡的,所以它也會存在***次調時比較慢的情況。那么這個時候我們要如何設置呢?
Zuul中的Eager Load配置
在Spring Cloud Zuul中也提供了一個配置參數來實現earger-load,具體如下:
- zuul.ribbon.eager-load.enabled=true
但是,可能你嘗試一下之后會發(fā)現,并沒有起效?為什么呢?這是由于Spring Cloud Zuul中實現eager-load的時候同Ribbon中一樣,都需要指定具體哪些服務需要饑餓加載。那么在Spring Cloud Zuul中如何具體指定呢?
在Spring Cloud Zuul的饑餓加載中沒有設計專門的參數來配置,而是直接采用了讀取路由配置來進行饑餓加載的做法。所以,如果我們使用默認路由,而沒有通過配置的方式指定具體路由規(guī)則,那么zuul.ribbon.eager-load.enabled=true的配置就沒有什么作用了。
因此,在真正使用的時候,我們可以通過zuul.ignored-services=*來忽略所有的默認路由,讓所有路由配置均維護在配置文件中,以達到網關啟動的時候就默認初始化好各個路由轉發(fā)的負載均衡對象。
【本文為51CTO專欄作者“翟永超”的原創(chuàng)稿件,轉載請通過51CTO聯系作者獲取授權】