一、集群时钟同步不一致问题示例
并发的三个下单请求,⼏乎同时被处理,由于服务器时钟不⼀致,导致⼊库的下单时间却差别很⼤!数据混乱
二、同步服务器设置
-
场景一: 集群服务器都可 连接 互联网
每个节点都去同步 国家授时中心/ 时间服务器, 可以加入crontab中去执行
ntpdate -u ntp.api.bz
-
场景二、三 分布式集群中某⼀个服务器节点可以访问互联⽹或者所有节点都不能够访问互联⽹
此时需要把 选取其中一台服务器 (192.168.0.1)作为 局域网内的 时间服务器,其它服务器(192.168.0.2, 192.168.0.3)去同步它的时间
操作方法:
1. 设置好 192.168.0.1 的时间
2. 把 192.168.0.1 设置为时间服务器(修改 /etc/ntp.conf 文件)
- 如果有 restrice default ignore , 注释掉
- 把 192.168.0.1 设置为时间服务器
# 放开局域⽹同步功能,192.168.0.0是你的局域⽹⽹段, 向局域网内开放时间同步
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
# 把ntp的时间和 硬件时间保持一致
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
3. 重启⽣效并配置ntpd服务开机⾃启动
service ntpd restart
chkconfig ntpd on
4. 集群中的其它节点从 192.168.0.1 同步时间
ntpdate 192.168.0.1