Vert-x配置項VertxOptions的使用

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

在發佈Vert.x實例時,須要傳入一個VertxOptions來實現針對Vert.x的配置項的管理,代碼以下:java

VertxOptions options = new VertxOptions();
options.setWorkerPoolSize(40)//舉個栗子,設置支持的Worker線程的最大數量
Vertx vertx = Vertx.vertx(options);

配置項的API說明:api

  • setEventLoopPoolSize架構

    設置Vert.x實例中使用的Event Loop線程的數量,默認值爲:2 * Runtime.getRuntime().availableProcessors()(可用的處理器個數);oop

  • setWorkerPoolSize線程

    設置Vert.x實例中支持的Worker線程的最大數量,默認值爲20;code

  • setInternalBlockingPoolSizehtm

    設置內部阻塞線程池最大線程數,這個參數主要被Vert.x的一些內部操做使用,默認值爲20;get

  • setClusteredio

    是否開啓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

感謝戒子豬

全科龍婷

相關文章
相關標籤/搜索