elastic-job2.1.5 同一个服务在同一个机器上部署两份,算是两个节点吗?
我有一个服务,都配置了elastic-job任务,并在同一个机器上起了两份,这算是两个节点吗?我的配置如下:
<!--配置作业注册中心 -->
<reg:zookeeper id="regCenter" server-lists="127.0.0.1:2181" namespace="dd-job" base-sleep-time-milliseconds="1000" max-sleep-time-milliseconds="3000" max-retries="3" />
<!-- 配置作业-->
<job:simple id="oneOffElasticJob" class="cn.com.servyou.contract.service.timertask.MyElasticJob" registry-center-ref="regCenter" cron="0/10 * * * * ?" sharding-total-count="1" overwrite="true" />
我期望看到的结果是zookeeper每隔10秒会把分片项分配到不同的服务中,但是现实结果是只有一个服务执行了定时任务,另一个则从未执行过。请问这是为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
谢谢你及时的回复
默认分片策略是选中一个节点并且一直执行,这样省去了切换上下文的开销。如果分片是1,另一个节点可做高可用的备份。
可以自定义分片策略满足各种分配需求,如何自定义分片策略可以阅读文档
恩,我原本以为两个节点会轮流执行的,后来才知道默认的分片策略只会选出一个节点,然后一直让这个节点来执行任务。
你设置的分片项不是1么?所以只会分1片,在1个节点执行