2.3.1
Expected behavior通过XxlJobSpringExecutor可以指定端口范围,执行器启动后注册到指定范围的端口
Actual behaviorXxlJobSpringExecutor只支持单个端口设置
Steps to reproduce the behavior新建springboot为执行器,通过@Bean的方式配置XxlJobSpringExecutor,并新建一个job,注册到的调度中心
Other information2.3.1
Expected behavior通过XxlJobSpringExecutor可以指定端口范围,执行器启动后注册到指定范围的端口
Actual behaviorXxlJobSpringExecutor只支持单个端口设置
Steps to reproduce the behavior新建springboot为执行器,通过@Bean的方式配置XxlJobSpringExecutor,并新建一个job,注册到的调度中心
Other information这不是一个很好的需求,哈哈,注册的时候不确定端口号会增加交互的复杂度,每次重启需要重新确定端口号,也可能会导致随机的端口号存在冲突。
感谢回复,不过我认为这个理由比较牵强,因为xxl-job在启动时如果不指定端口号,自身也会根据自己的规则随机注册一个端口。 我这个需求是出于这样的场景:假设我有三个机器,一个master,两个slave,master部署调度中心,两个slave上各部署的有n个执行器服务,我需要根据端口范围来定制三台机器间的网络策略。而为每个执行器确定一个唯一的端口不利于快速扩容,目前的机器配置不支持部署k8s进行扩容。
xxl-job现在支持指定端口和随机端口,但是不能支持某个范围内的端口。
Sorry,我重新看了一下你的问题。可能是我理解有误,你的想法应该是想要在同一个应用中,部署多个执行器,每个执行器使用的端口号在一个指定范围内。这种方式可能不太好实现,因为执行器的端口号是内置的Http服务器确定的,你如果想每个执行器用的端口号不一样,那就相当于,需要启动多个Http服务器。对于你的应用来说,这个开销是很大的。
我是想法是在同一个服务器上部署多个执行器,每一个执行器都是springboot服务,多个执行器是基于这个springboot服务横向扩容出来的。不过既然没法手工指定范围的我考虑下如何自行实现,感谢解答。
那如果是这种的话,改动就很简单了,增加一个端口号范围即可。