Cluster模式潜在问题学习笔记---集群时钟同步问题

Cluster模式潜在问题学习笔记—集群时钟同步问题

1.时钟不同步导致的问题

  1. 时钟此处指服务器时间,如果集群中各个服务器时钟不⼀致势必导致⼀系列问题,试想 “集群是各个服务器⼀起团队化作战,⼤家⼯作都不在⼀个点上,岂不乱了套!”

  2. 举⼀个例⼦,电商⽹站业务中,新增⼀条订单,那么势必会在订单表中增加了⼀条记录,该条记录中应该会有“下单时间”这样的字段,往往我们会在程序中获取当前系统时间插⼊到数据库或者直接从数据库服务器获取时间。那我们的订单⼦系统是集群化部署,或者我们的数据库也是分库分表的集群化部署,然⽽他们的系统时钟缺不⼀致,⽐如有⼀台服务器的时间是昨天,那么这个时候下单时间就成了昨天,那我们的数据将会混乱!如下图:
    Cluster模式潜在问题学习笔记---集群时钟同步问题

2.集群时钟同步配置场景一分布式集群中各个服务器节点都可以连接互联⽹

  1. 思路
    Cluster模式潜在问题学习笔记---集群时钟同步问题
  2. 操作⽅式
    使⽤ ntpdate ⽹络时间同步命令:ntpdate -u ntp.api.bz (从⼀个时间服务器同步时间,ntp.api.bz是一个远程的服务器)
  3. windows有计划任务,Linux也有定时任务,crond,可以使⽤linux的定时任务,每隔10分钟执⾏⼀次ntpdate命令

3.集群时钟同步配置场景二分布式集群中某⼀个服务器节点可以访问互联⽹或者所有节点都不能够访问互联⽹

  1. 思路
    Cluster模式潜在问题学习笔记---集群时钟同步问题
  2. 操作⽅式
    1. 选取集群中的⼀个服务器节点A(172.17.0.17)作为时间服务器(整个集群时间从这台服务器同步,如果这台服务器能够访问互联⽹,可以让这台服务器和⽹络时间保持同步,如果不能就⼿动设置⼀个时间)
    2. ⾸先设置好A的时间
    3. 把A配置为时间服务器(修改/etc/ntp.conf⽂件,网络时间同步文件)
      Cluster模式潜在问题学习笔记---集群时钟同步问题
    4. 集群中其他节点就可以从A服务器同步时间了:ntpdate IP地址
      Cluster模式潜在问题学习笔记---集群时钟同步问题