231419585
今天清明节,一大早被孩子吵醒,起来撸一篇关于VertxOptions的文章,此文章诞生于洗手间,读此文章可能会闻到臭臭的味道。下面正式开始:html
在发布Vert.x实例时,须要传入一个VertxOptions来实现针对Vert.x的配置项的管理,代码以下:java
VertxOptions options = new VertxOptions(); options.setWorkerPoolSize(40)//举个栗子,设置支持的Worker线程的最大数量 Vertx vertx = Vertx.vertx(options);
配置项的API说明:api
设置Vert.x实例中使用的Event Loop线程的数量,默认值为:2 * Runtime.getRuntime().availableProcessors()(可用的处理器个数);oop
设置Vert.x实例中支持的Worker线程的最大数量,默认值为20;code
setInternalBlockingPoolSizehtm
设置内部阻塞线程池最大线程数,这个参数主要被Vert.x的一些内部操做使用,默认值为20;get
是否开启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
感谢戒子猪