- 欢迎关注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