分布式环境时钟同步问题

资料参考来源拉钩Java高薪训练营


一、时钟不同步导致的问题

在分布式集群环境下,不同服务器的时间如果不一致,则产生的数据可能会发生错乱。

比如电商系统下单时,如果订单系统2个服务器时间不一致,一台服务器时间是2021-01-01 10:00:00,另一台时间为2020-01-02 10:00:00,那么两台服务器同时产生的两条订单数据不论是排序处理还是订单数据统计都乱了。

二、集群时钟同步

  1. 分布式集群中每个服务器节点都能连接互联网
    可以每个服务器都从互联网上权威的时间服务器做同步,还可以在linux添加定时任务来同步。
#使⽤ ntpdate ⽹络时间同步命令
ntpdate -u ntp.api.bz #从⼀个时间服务器同步时间
  1. 分布式集群中某⼀个服务器节点可以访问互联⽹或者所有节点都不能够访问互联⽹
    选取一个服务器节点作为时间服务器,其他服务器都从这个时间服务器进行同步。如果这台时间服务器可以连网,那么从互联网上同步时间,如果不能连网,那就只能手动设置时间服务器的时间,保证其他服务器和这台时间服务器的时间一致就可以了。

虚拟机配置为时间服务器:

1、修改/etc/ntp.conf,如果有 restrict default ignore,注释掉它
2、添加如下⼏⾏内容
restrict 192.168.137.0 mask 255.255.255.0 nomodify notrap # 放开局域⽹同步功能,192.168.137.0是你的局域⽹⽹段
server 127.127.1.0
Fudge 127.127.1.0 stratum 10
3、重启⽣效并配置ntpd服务开机⾃启动
service ntpd restart
chkconfig ntpd on

其他服务器就可以从这个服务器同步时间了:

ntpdate 192.168.137.10
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值