阅读 306

[分布式]集群时钟同步问题

前言

分布式是为了解决单机算力问题,但是却引入了新的服务调度、状态同步等问题。

集群时钟问题

集群中不同机器时间不一致会导致时间错乱,比如我们通过雪花算法计算集群唯一id时,如果不同服务器时间不一致,很可能导致id冲突。而且也会导致排查问题异常,下游链路的服务处理在上游调用之前,这样排查起来也会增加难度。

集中时钟问题分类

集群所有机器与外部网络通畅

这种情况比较简单,所有机器定时与时间服务器进行同步,可以保证集群内所有服务器时间一致,linux命令

ntpdate -u ntp.api.bz
复制代码

集群存在机器与外部网络block

解决办法在情况1的基础上,将集群内某台可以与外部网络建立联络的机器作为集群内的时间服务器,然后其他服务器与该服务器进行时间同步即可

具体操作步骤 1、设定某台机器为时间同步服务器

 
1、如果有 restrict default ignore,注释掉它 
2、添加如下几行内容
restrict 172.17.0.0 mask 255.255.255.0 nomodify notrap # 放开局 域网同步功能,172.17.0.0是你的局域网网段
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 3、重启生效并配置ntpd服务开机自启动
   service ntpd restart
   chkconfig ntpd on
复制代码

2、进行情况一的处理。

文章分类
后端
文章标签