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,注册到的调度中心
6条答案
按热度按时间lmvvr0a81#
这不是一个很好的需求,哈哈,注册的时候不确定端口号会增加交互的复杂度,每次重启需要重新确定端口号,也可能会导致随机的端口号存在冲突。
jm2pwxwz2#
这不是一个很好的需求,哈哈,注册的时候不确定端口号会增加交互的复杂度,每次重启需要重新确定端口号,也可能会导致随机的端口号存在冲突。
感谢回复,不过我认为这个理由比较牵强,因为xxl-job在启动时如果不指定端口号,自身也会根据自己的规则随机注册一个端口。
我这个需求是出于这样的场景:假设我有三个机器,一个master,两个slave,master部署调度中心,两个slave上各部署的有n个执行器服务,我需要根据端口范围来定制三台机器间的网络策略。而为每个执行器确定一个唯一的端口不利于快速扩容,目前的机器配置不支持部署k8s进行扩容。
mctunoxg3#
xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。
指定端口这种的情况就不用说了;
随机端口的话,是如果不填写指定端口
会从9999这个端口号,先从9999-65535中选择一个可用端口号;
如果找不到,会从0-9999中选择一个可用端口号;
基于以上,如果想限制一个范围的话,可能需要改代码。
fnvucqvd4#
xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。
指定端口这种的情况就不用说了;
随机端口的话,是如果不填写指定端口
会从9999这个端口号,先从9999-65535中选择一个可用端口号;
如果找不到,会从0-9999中选择一个可用端口号;
基于以上,如果想限制一个范围的话,可能需要改代码。
Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。
kiz8lqtg5#
xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。
指定端口这种的情况就不用说了;
随机端口的话,是如果不填写指定端口
会从9999这个端口号,先从9999-65535中选择一个可用端口号;
如果找不到,会从0-9999中选择一个可用端口号;
基于以上,如果想限制一个范围的话,可能需要改代码。
Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。
我是想法是在同一个服务器上部署多个执行器,每一个执行器都是springboot服务,多个执行器是基于这个springboot服务横向扩容出来的。不过既然没法手工指定范围的我考虑下如何自行实现,感谢解答。
cgfeq70w6#
xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。
指定端口这种的情况就不用说了;
随机端口的话,是如果不填写指定端口
会从9999这个端口号,先从9999-65535中选择一个可用端口号;
如果找不到,会从0-9999中选择一个可用端口号;
基于以上,如果想限制一个范围的话,可能需要改代码。
Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。
我是想法是在同一个服务器上部署多个执行器,每一个执行器都是springboot服务,多个执行器是基于这个springboot服务横向扩容出来的。不过既然没法手工指定范围的我考虑下如何自行实现,感谢解答。
那如果是这种的话,改动就很简单了,增加一个端口号范围即可。