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 感谢戒子猪