Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

校对作业服务器与注册中心时间误差 #6

Closed
amao12580 opened this issue Oct 13, 2015 · 1 comment
Closed

校对作业服务器与注册中心时间误差 #6

amao12580 opened this issue Oct 13, 2015 · 1 comment

Comments

@amao12580
Copy link

多机运行job时,job在各自所在机器上,由quartz组件单机调度。
quartz组件是强时间依赖的组件,时间依赖于本机的操作系统时间。
如果机器之间的操作系统时间出现不一致,而job的运行与时间存在逻辑关系,则会引发job运行混乱。

建议:每台机器启动运行实例时,如果有job配置为强时间依赖,则与zookeeper进行时间校对,如果差异过大,抛出启动异常,中断启动。

其实只要主机间安装ntp组件,保持运行,并实时链入时间同步服务器,也可以解决这个问题。

强时间依赖的job示例:
某job,名为A,A的每次运行,需要检查最后一次运行的时间与当前时间的差值,是否低于30秒,如果低于则退出运行,反之则继续运行。
如果A部署在2台机器上,这两台机器的操作系统时间存在差异,差值为20分钟。则A在分布式运行在2台机器时,会出现问题。

@terrymanu
Copy link
Member

fixed

@terrymanu terrymanu changed the title 【一般性问题】job运行在多个机器,引发的时间同步问题。 [功能提升] job运行在多个机器,引发的时间同步问题。 Oct 29, 2015
@terrymanu terrymanu changed the title [功能提升] job运行在多个机器,引发的时间同步问题。 [Improvement] 校对作业服务器与注册中心时间误差 Mar 8, 2016
@terrymanu terrymanu changed the title [Improvement] 校对作业服务器与注册中心时间误差 校对作业服务器与注册中心时间误差 Jul 12, 2016
hanahmily added a commit that referenced this issue Jun 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants