elastic-job-lite在只有一个分片的情况下不同服务器之间是如何抢占job的?
首先,在一台机器上启动一个服务,代码是这样的
public class JobDemo
{
public static void main(String[] args)
{
new JobScheduler(createRegistryCenter(), createJobConfiguration()).init();
// new JobScheduler(createRegistryCenter(), createJobConfiguration1()).init();
// new JobScheduler(createRegistryCenter(), createJobConfiguration(), new MyElasticJobListener()).init();
}
private static CoordinatorRegistryCenter createRegistryCenter()
{
CoordinatorRegistryCenter regCenter = new ZookeeperRegistryCenter(new ZookeeperConfiguration("99.48.70.4:2181", "test"));
regCenter.init();
return regCenter;
}
private static LiteJobConfiguration createJobConfiguration()
{
// 定义作业核心配置
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder("demoSimpleJob", "0/6 * * * * ?", 1).build();
// 定义SIMPLE类型配置
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, MyElasticJob.class.getCanonicalName());
// 定义Lite作业根配置
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static LiteJobConfiguration createJobConfiguration1()
{
// 定义作业核心配置
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder("demoSimpleJob1", "0/6 * * * * ?", 1).build();
// 定义SIMPLE类型配置
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, MyElasticJob2.class.getCanonicalName());
// 定义Lite作业根配置
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
}
在监控页面是这样的
然后我本机启动同样的代码之后
我本机是如何抢占成这个服务器的,而原先起的服务却处于等待的高可用状态?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用zookeeper的分布式锁