历史:
当当网的分布式作业框架dangdang
->io.elasticjob
->org.apache.shardingsphere.elasticjob
# Origin: dangdang ddframe
dangdang:
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-core</artifactId>
<version>${elastic-job.version}</version>
</dependency>
https://www.infoq.cn/article/dangdang-distributed-work-framework-elastic-job/
https://cloud.tencent.com/developer/article/1465039?from=15425
https://cloud.tencent.com/developer/article/1137622
https://github.com/dangdang-arch/elastic-job-example
# Legacy: io.elasticjob
legacy:
https://shardingsphere.apache.org/elasticjob/legacy/lite-2.x/01-start/quick-start/
<dependency>
<groupId>io.elasticjob</groupId>
<artifactId>elastic-job-lite-core</artifactId>
<version>${latest.release.version}</version>
</dependency>
# Current: shardingsphere.elasticjob
https://www.infoq.cn/article/ZcEsH20kUCB9QP1O1PNt
https://github.com/apache/shardingsphere-elasticjob
https://shardingsphere.apache.org/elasticjob/current/en/quick-start/elasticjob-lite/
current:
<dependency>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
<artifactId>elasticjob-lite-core</artifactId>
<version>${latest.release.version}</version>
</dependency>
# config
//zookeeper server address, comma delimited
private String zookeeperServer;
//namespace(root path on zookeeper)
private String namespace;
//min time interval waiting for next retry
private int baseSleepTimeMilliseconds = 1000;
//max time interval waiting for next retry
private int maxSleepTimeMilliseconds = 3000;
//max retry times
private int maxRetries = 3;
//session timeout
private int sessionTimeoutMilliseconds = 60000;
//connection timeout
private int connectionTimeoutMilliseconds = 15000;
//if true, local config will overwrite the config registered in zookeeper
private boolean overwrite = true;
//if true, the unfinished job on the crashed node will continue to execute on other live nodes
private boolean failover = false;
//if true, will trigger task if misfire
private boolean misfire = true;
//whether disable job at start (one scenario is set it to true when deploying jobs and then start all jobs only after done the deployment)
private boolean disabled = false;
[zk: 127.0.0.1:2181(CONNECTED) 14] ls /test/someJob/leader
[election, sharding]
[zk: 127.0.0.1:2181(CONNECTED) 15] ls /test/someJob/servers
[172.16.200.68, 172.16.200.128]
[zk: 127.0.0.1:2181(CONNECTED) 16] ls /test/someJob/config
[]
[zk: 127.0.0.1:2181(CONNECTED) 17] ls /test/someJob/instances
[]
[zk: 127.0.0.1:2181(CONNECTED) 18] ls /test/someJob/sharding
[0]
[zk: 127.0.0.1:2181(CONNECTED) 19] ls /test/someJob/leader/election
[latch]
[zk: 127.0.0.1:2181(CONNECTED) 20] ls /test/someJob/leader/sharding
[]