Vert.x(六): Vert.x配置項VertxOptions的使用
- 歡迎關注http://quanke.name/
- 交流群:
231419585
- 轉載請註明出處,謝謝
今天清明節,一大早被孩子吵醒,起來擼一篇關於VertxOptions的文章,此文章誕生於洗手間,讀此文章可能會聞到臭臭的味道。下面正式開始:
在釋出Vert.x例項時,需要傳入一個VertxOptions來實現針對Vert.x的配置項的管理,程式碼如下:
VertxOptions options = new VertxOptions();
options.setWorkerPoolSize(40)//舉個栗子,設定支援的Worker執行緒的最大數量
Vertx vertx = Vertx.vertx(options);
配置項的API說明:
-
設定Vert.x例項中使用的Event Loop執行緒的數量,預設值為:2 * Runtime.getRuntime().availableProcessors()(可用的處理器個數);
-
設定Vert.x例項中支援的Worker執行緒的最大數量,預設值為20;
-
設定內部阻塞執行緒池最大執行緒數,這個引數主要被Vert.x的一些內部操作使用,預設值為20;
-
是否開啟Vert.x的Cluster叢集模式,預設值為false;
-
【Cluster叢集模式有效】設定叢集執行的預設hostname,預設值為localhost;
-
【Cluster叢集模式有效】設定叢集執行的埠號,可自定義固定埠號,預設值為0(隨機分配);
-
【Cluster叢集模式有效】使用ping命令檢測Cluster的時間間隔,預設20000,單位毫秒ms,即20秒;
-
【Cluster叢集模式有效】叢集響應ping命令的時間間隔,預設20000,單位毫秒ms,即20秒;
-
阻塞執行緒檢查的時間間隔,預設1000,單位ms,即1秒;
-
Event Loop的最大執行時間,預設2l * 1000 * 1000000,單位ns,即2秒;
-
Worker執行緒的最大執行時間,預設60l * 1000 * 1000000,單位ns,即60秒;
-
是否支援HA架構,預設值false;(*:如果Vert.x啟用了HA模式,其中一個Vert.x例項執行出現了異常或者死掉,那麼這個Vert.x例項中執行的Verticle會執行重發布Redeploy的過程將執行在該例項中的Verticle例項重新發布到其他正常執行的Vert.x例項中【Verticle Fail-Over】。)
-
【HA模式有效】支援了HA模式過後,可根據不同的組名將Vert.x進行邏輯分組,此方法設定當前Vert.x的邏輯組名,預設DEFAULT;
-
【HA模式有效】支援了HA模式過後,此方法設定衝裁節點的數量,預設值1;(*:這個值一旦設定過後,如果要釋出Verticle元件,則需要執行環境中的節點數量達到這個值才可執行釋出,比如quorum的值設定成3,如果僅僅運行了兩個Vert.x例項,那麼這種情況下Verticle不會被髮布,必須要執行至少三個Vert.x例項,才會執行釋出Deploy流程,Undeploy流程類似)
-
如果執行緒阻塞時間超過了這個閥值,那麼就會列印警告的堆疊資訊,預設為5l * 1000 * 1000000,單位ns,即5秒;
之後還有大招,請關注http://quanke.name/ ,馬化騰群:231419585
此文參考: http://dwz.cn/32dhMF