xxl-job 如何手工指定执行器端口范围

gkn4icbw  于 4个月前  发布在  其他
关注(0)|答案(6)|浏览(80)

Please answer some questions before submitting your issue. Thanks!

Which version of XXL-JOB do you using?

2.3.1

Expected behavior

通过XxlJobSpringExecutor可以指定端口范围,执行器启动后注册到指定范围的端口

Actual behavior

XxlJobSpringExecutor只支持单个端口设置

Steps to reproduce the behavior

新建springboot为执行器,通过@bean的方式配置XxlJobSpringExecutor,并新建一个job,注册到的调度中心

Other information

lmvvr0a8

lmvvr0a81#

这不是一个很好的需求,哈哈,注册的时候不确定端口号会增加交互的复杂度,每次重启需要重新确定端口号,也可能会导致随机的端口号存在冲突。

jm2pwxwz

jm2pwxwz2#

这不是一个很好的需求,哈哈,注册的时候不确定端口号会增加交互的复杂度,每次重启需要重新确定端口号,也可能会导致随机的端口号存在冲突。

感谢回复,不过我认为这个理由比较牵强,因为xxl-job在启动时如果不指定端口号,自身也会根据自己的规则随机注册一个端口。
我这个需求是出于这样的场景:假设我有三个机器,一个master,两个slave,master部署调度中心,两个slave上各部署的有n个执行器服务,我需要根据端口范围来定制三台机器间的网络策略。而为每个执行器确定一个唯一的端口不利于快速扩容,目前的机器配置不支持部署k8s进行扩容。

mctunoxg

mctunoxg3#

xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。

  • 指定端口这种的情况就不用说了;

  • 随机端口的话,是如果不填写指定端口

  • 会从9999这个端口号,先从9999-65535中选择一个可用端口号;

  • 如果找不到,会从0-9999中选择一个可用端口号;
    基于以上,如果想限制一个范围的话,可能需要改代码。

fnvucqvd

fnvucqvd4#

xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。

  • 指定端口这种的情况就不用说了;

  • 随机端口的话,是如果不填写指定端口

  • 会从9999这个端口号,先从9999-65535中选择一个可用端口号;

  • 如果找不到,会从0-9999中选择一个可用端口号;
    基于以上,如果想限制一个范围的话,可能需要改代码。

Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。

kiz8lqtg

kiz8lqtg5#

xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。

  • 指定端口这种的情况就不用说了;

  • 随机端口的话,是如果不填写指定端口

  • 会从9999这个端口号,先从9999-65535中选择一个可用端口号;

  • 如果找不到,会从0-9999中选择一个可用端口号;
    基于以上,如果想限制一个范围的话,可能需要改代码。

Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。

我是想法是在同一个服务器上部署多个执行器,每一个执行器都是springboot服务,多个执行器是基于这个springboot服务横向扩容出来的。不过既然没法手工指定范围的我考虑下如何自行实现,感谢解答。

cgfeq70w

cgfeq70w6#

xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。

  • 指定端口这种的情况就不用说了;

  • 随机端口的话,是如果不填写指定端口

  • 会从9999这个端口号,先从9999-65535中选择一个可用端口号;

  • 如果找不到,会从0-9999中选择一个可用端口号;
    基于以上,如果想限制一个范围的话,可能需要改代码。

Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。

我是想法是在同一个服务器上部署多个执行器,每一个执行器都是springboot服务,多个执行器是基于这个springboot服务横向扩容出来的。不过既然没法手工指定范围的我考虑下如何自行实现,感谢解答。

那如果是这种的话,改动就很简单了,增加一个端口号范围即可。

相关问题