整个网站开发框架流程,福州做网站,网页导航菜单设计,网站建设的电话销售一、原理 elastic-job有lite版和cloud版#xff0c;最大的区别是有无调度中心#xff0c;笔者采用的是lite版本#xff0c;无中心化。 tips: 第一台服务器上线触发主服务器选举。主服务器一旦下线#xff0c;则重新触发选举#xff0c;选举过程中阻塞#xff0c;只有主服…一、原理 elastic-job有lite版和cloud版最大的区别是有无调度中心笔者采用的是lite版本无中心化。 tips: 第一台服务器上线触发主服务器选举。主服务器一旦下线则重新触发选举选举过程中阻塞只有主服务器选举完成才会执行其他任务。 某作业服务器上线时会自动将服务器信息注册到注册中心下线时会自动更新服务器状态。 主节点选举服务器上下线分片总数变更均更新重新分片标记。 定时任务触发时如需重新分片则通过主服务器分片分片过程中阻塞分片结束后才可执行任务。如分片过程中主服务器下线则先选举主服务器再分片。 通过上一项说明可知为了维持作业运行时的稳定性运行过程中只会标记分片状态不会重新分片。分片仅可能发生在下次任务触发前。 每次分片都会按服务器IP排序保证分片结果不会产生较大波动。 实现失效转移功能在某台服务器执行完毕后主动抓取未分配的分片并且在某台服务器下线后主动寻找可用的服务器执行任务。 作业启动流程 作业执行流程 二、应用 引入maven依赖 !-- elastic-job start --dependency groupIdcom.dangdang/groupId artifactIdelastic-job-lite-core/artifactId version2.0.0/version/dependencydependency groupIdcom.dangdang/groupId artifactIdelastic-job-lite-spring/artifactId version2.0.0/version/dependency!-- elastic-job end -- !-- zookeeper --dependency groupIdorg.apache.zookeeper/groupId artifactIdzookeeper/artifactId version3.4.9/version/dependency 作业开发 public class TestTask implements SimpleJob{ public void execute(ShardingContext context) { System.out.println(定时任务测试); } } 作业配置 ?xml version1.0 encodingUTF-8?beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:reghttp://www.dangdang.com/schema/ddframe/reg xmlns:jobhttp://www.dangdang.com/schema/ddframe/job xsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.dangdang.com/schema/ddframe/reg http://www.dangdang.com/schema/ddframe/reg/reg.xsd http://www.dangdang.com/schema/ddframe/job http://www.dangdang.com/schema/ddframe/job/job.xsd !-- 配置注册中心 任务的信息都会在zk中存储 --reg:zookeeper idregCenter server-lists127.0.0.1:2181 namespacetest-job base-sleep-time-milliseconds1000 max-sleep-time-milliseconds3000 max-retries3 / !-- 配置简单作业 --job:simple idtestTask classcom.xxx.TestTask registry-center-refregCenter cron0 10 * * * ? sharding-total-count1 overwritetrue!-- 分片为1即不需要分片支持覆盖即会用本次的配置覆盖缓存在zk中的配置 -- job:event-log /!-- job运行日志记录到log -- job:event-rdb driver${ds1.jdbc.driver_class_name} !-- job运行日志记录到DB 详细参考http://dangdangdotcom.github.io/elastic-job/post/user_guide/common/event_trace/-- url${ds1.jdbc.url} username${ds1.jdbc.username} password${ds1.jdbc.password} log-levelINFO //job:simple /beans 三、运维工具 部署方式 部署运维平台war文件elastic-job-lite-console.war至任何支持Servlet的Web容器(可选)。 运维平台以war包形式提供可自行部署至tomcat或jetty等支持servlet的web容器中。elastic-job-console.war可通过mvn install编译或maven中央仓库获取。 WEB-INF/classes/conf/auth.properties记录的是登录用户和密码 功能说明 两个维度查看job维度、服务器维度 job维护手动触发job停止job删除job修改job配置job状态查看。lite版本没有手动添加任务功能转载于:https://www.cnblogs.com/acyouai/p/6702044.html