1. 程式人生 > >Vert.x(六): Vert.x配置項VertxOptions的使用

Vert.x(六): Vert.x配置項VertxOptions的使用

今天清明節,一大早被孩子吵醒,起來擼一篇關於VertxOptions的文章,此文章誕生於洗手間,讀此文章可能會聞到臭臭的味道。下面正式開始:

在釋出Vert.x例項時,需要傳入一個VertxOptions來實現針對Vert.x的配置項的管理,程式碼如下:

VertxOptions options = new VertxOptions();
options.setWorkerPoolSize(40)//舉個栗子,設定支援的Worker執行緒的最大數量
Vertx vertx = Vertx.vertx(options);

配置項的API說明:

  • setEventLoopPoolSize

    設定Vert.x例項中使用的Event Loop執行緒的數量,預設值為:2 * Runtime.getRuntime().availableProcessors()(可用的處理器個數);

  • setWorkerPoolSize

    設定Vert.x例項中支援的Worker執行緒的最大數量,預設值為20;

  • setInternalBlockingPoolSize

    設定內部阻塞執行緒池最大執行緒數,這個引數主要被Vert.x的一些內部操作使用,預設值為20;

  • setClustered

    是否開啟Vert.x的Cluster叢集模式,預設值為false;

  • setClusterHost

    【Cluster叢集模式有效】設定叢集執行的預設hostname,預設值為localhost;

  • setClusterPort

    【Cluster叢集模式有效】設定叢集執行的埠號,可自定義固定埠號,預設值為0(隨機分配);

  • setClusterPingInterval

    【Cluster叢集模式有效】使用ping命令檢測Cluster的時間間隔,預設20000,單位毫秒ms,即20秒;

  • setClusterPingReplyInterval

    【Cluster叢集模式有效】叢集響應ping命令的時間間隔,預設20000,單位毫秒ms,即20秒;

  • setBlockedThreadCheckInterval

    阻塞執行緒檢查的時間間隔,預設1000,單位ms,即1秒;

  • setMaxEventLoopExecuteTime

    Event Loop的最大執行時間,預設2l * 1000 * 1000000,單位ns,即2秒;

  • setMaxWorkerExecuteTime

    Worker執行緒的最大執行時間,預設60l * 1000 * 1000000,單位ns,即60秒;

  • setHAEnabled

    是否支援HA架構,預設值false;(*:如果Vert.x啟用了HA模式,其中一個Vert.x例項執行出現了異常或者死掉,那麼這個Vert.x例項中執行的Verticle會執行重發布Redeploy的過程將執行在該例項中的Verticle例項重新發布到其他正常執行的Vert.x例項中【Verticle Fail-Over】。)

  • setHAGroup

    【HA模式有效】支援了HA模式過後,可根據不同的組名將Vert.x進行邏輯分組,此方法設定當前Vert.x的邏輯組名,預設DEFAULT

  • setQuorumSize

    【HA模式有效】支援了HA模式過後,此方法設定衝裁節點的數量,預設值1;(*:這個值一旦設定過後,如果要釋出Verticle元件,則需要執行環境中的節點數量達到這個值才可執行釋出,比如quorum的值設定成3,如果僅僅運行了兩個Vert.x例項,那麼這種情況下Verticle不會被髮布,必須要執行至少三個Vert.x例項,才會執行釋出Deploy流程,Undeploy流程類似)

  • setWarningExceptionTime

    如果執行緒阻塞時間超過了這個閥值,那麼就會列印警告的堆疊資訊,預設為5l * 1000 * 1000000,單位ns,即5秒;

之後還有大招,請關注http://quanke.name/ ,馬化騰群:231419585

此文參考: http://dwz.cn/32dhMF