京东云鼎服务器时间问题

黄师傅 2,081 2023-04-12

问题发现

突然有一天发现系统的京东订单无法正常同步到中台了,排查中发现云鼎应用的日志有报错

image-20230412160551393

看了文档是因为京东的sdk请求的时候会带上系统时间戳,京东API会校验这个时间戳,误差超过6分钟会视为非法请求。然后看下服务器的系统时间,发现与准确时间确实差了6分钟有多。云鼎中都拉不到订单,业务系统中自然会漏单。

解决方案

  1. 直接修改服务器时间,设置完成之后过不了多久又会有时间误差。

    date -s 设置时间
    
  2. 使用ntp做时间同步服务,发现报超时了,后面排查是因为云鼎有限制,只能用云鼎指定的时间同步服务

    ntpdate ntp.aliyun.com
    
  3. 云鼎官方指定的时间同步服务

    1. 安全组申请开通出站 协议为UDP 端口为 123,目的IP为 100.0.0.0/8(京东云的时间源ntp.jdcloudcs.com,只能京东云主机使用)
    2. 安全组申请开通dns服务出站 udp与tcp的 53端口, 目的地址为 0.0.0.0/0 ,
    3. 按照文档 https://docs.jdcloud.com/cn/virtual-machines/intranet-ntp-service 和 https://docs.jdcloud.com/cn/virtual-machines/linux-yum-ntpd 配置 ntp
    

    完美解决!!