单体项目时,只分了两个项目
拆分为微服务后,定时任务执行的相关代码如何设计比较好? 我自己能想到的
1
lumious 2021-09-17 00:56:12 +08:00
参与的一个项目做法是单独分一个负责定时器的服务,注册到 xxl-job 。由定时服务通过 feign 或者 dubbo 去调用业务服务
|
2
namelosw 2021-09-17 01:05:22 +08:00
业务和任务经常有业务相同的地方,所以放在一起比较好。
|
3
xuanbg 2021-09-17 07:42:19 +08:00
别忘了加分布式锁
|
4
xuanbg 2021-09-17 07:44:59 +08:00
我的做法是实现一个任务调度器,调度器只管到点调用对应服务接口。
|
5
lasuar 2021-09-17 10:10:42 +08:00
有一个定时器服务,只运行一个实例。业务代码该在哪在哪,不要耦合。通过 rpc 就行
|
6
yisheyuanzhang OP 这样的话,同一个服务可能会被 web 访问和定时任务同时调用。 如果定时任务执行流程比较长的话。 服务更新时很容易中断。。
|
7
fengpan567 2021-09-17 17:50:13 +08:00
每个服务一个定时任务子工程,然后注册到 xxl-job 去调度
|
8
FrankAdler 2021-09-18 00:05:16 +08:00
job 独立,抽公共模块少不了的,项目再大点业务再复杂点会更明显,需要共享或者公用的常量设置太多了
|