Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
熊鹏飞
/
xxljob220
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
ee1f4e7a
authored
Apr 25, 2017
by
xueli.xue
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
路由策越优化:循环和LFU路由策略计数器自增无上限问题和首次路由压力集中在首台机器的问题修复;
parent
66e6dd93
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
5 deletions
README.md
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
README.md
View file @
ee1f4e7a
...
@@ -23,6 +23,7 @@ XXL-JOB銝銝芾蝠漣遙靚漲獢嚗敹挽霈∠
...
@@ -23,6 +23,7 @@ XXL-JOB銝銝芾蝠漣遙靚漲獢嚗敹挽霈∠
-
16、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
-
16、任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
-
17、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
-
17、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
-
18、Rolling日志:支持以Rolling方式实时查看执行器输出的日志信息,实时监控任务进度;
-
18、Rolling日志:支持以Rolling方式实时查看执行器输出的日志信息,实时监控任务进度;
-
19、运行报表:支持实时查看系统信息数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
#### 1.3 发展
#### 1.3 发展
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……
...
@@ -770,9 +771,11 @@ Tips: (V1.3.x)歇蝏elease蝔喳, 餈蝏湔畾
...
@@ -770,9 +771,11 @@ Tips: (V1.3.x)歇蝏elease蝔喳, 餈蝏湔畾
-
4、权限增强校验,采用动态登录TOKEN(推荐接入内部SSO);
-
4、权限增强校验,采用动态登录TOKEN(推荐接入内部SSO);
-
5、数据库配置优化,解决乱码问题;
-
5、数据库配置优化,解决乱码问题;
#### 6.12 版本 V1.6.
2 特性(Co
ding)
#### 6.12 版本 V1.6.2 特性
-
1
、任务报表:总任
务数、总调度数、调度成功比例;
-
1
、运行报表:支持实时查看系统信息数据,
如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
-
2、JobHandler支持自定义回调结果;
-
2、JobHandler支持自定义回调结果;
-
3、资源路径包含空格或中文时资源文件无法加载时,无法准确查看异常信息的问题处理。
-
4、路由策越优化:循环和LFU路由策略计数器自增无上限问题和首次路由压力集中在首台机器的问题修复;
#### TODO LIST
#### TODO LIST
-
1、支持脚本JOB(源码或指定路径), 即shell/python/php等, 日志实时输出并支持在线监控;定制JobHandler实现;
-
1、支持脚本JOB(源码或指定路径), 即shell/python/php等, 日志实时输出并支持在线监控;定制JobHandler实现;
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteLFU.java
View file @
ee1f4e7a
...
@@ -33,8 +33,8 @@ public class ExecutorRouteLFU extends ExecutorRouter {
...
@@ -33,8 +33,8 @@ public class ExecutorRouteLFU extends ExecutorRouter {
jobLfuMap
.
put
(
jobId
,
lfuItemMap
);
jobLfuMap
.
put
(
jobId
,
lfuItemMap
);
}
}
for
(
String
address:
addressList
)
{
for
(
String
address:
addressList
)
{
if
(!
lfuItemMap
.
containsKey
(
address
))
{
if
(!
lfuItemMap
.
containsKey
(
address
)
||
lfuItemMap
.
get
(
address
)
>
1000000
)
{
lfuItemMap
.
put
(
address
,
0
);
lfuItemMap
.
put
(
address
,
new
Random
().
nextInt
(
addressList
.
size
()));
// 初始化时主动Random一次,缓解首次压力
}
}
}
}
...
...
xxl-job-admin/src/main/java/com/xxl/job/admin/core/route/strategy/ExecutorRouteRound.java
View file @
ee1f4e7a
...
@@ -3,6 +3,7 @@ package com.xxl.job.admin.core.route.strategy;
...
@@ -3,6 +3,7 @@ package com.xxl.job.admin.core.route.strategy;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
com.xxl.job.admin.core.route.ExecutorRouter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Random
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
/**
...
@@ -21,7 +22,7 @@ public class ExecutorRouteRound extends ExecutorRouter {
...
@@ -21,7 +22,7 @@ public class ExecutorRouteRound extends ExecutorRouter {
// count++
// count++
Integer
count
=
routeCountEachJob
.
get
(
jobId
);
Integer
count
=
routeCountEachJob
.
get
(
jobId
);
count
=
(
count
==
null
)?
0
:++
count
;
count
=
(
count
==
null
||
count
>
1000000
)?(
new
Random
().
nextInt
(
100
)):++
count
;
// 初始化时主动Random一次,缓解首次压力
routeCountEachJob
.
put
(
jobId
,
count
);
routeCountEachJob
.
put
(
jobId
,
count
);
return
count
;
return
count
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment