问题描述
原本是同事一个项目,特此记录一下。项目部署在阿里云上,项目中会调用公司机器的接口,发现运行日志中间歇性出现500错误。
解析
经过排除法,最终判定是DNS超时导致。那么有什么好的方法呢?同事的做法是这样的。
在项目机器上通过dig命令定期获取对应服务机器的ip信息并保存到/dev/shm/target_site_host.txt,调用接口时读取该文件获取ip,直接通过ip访问。
这里要说一下/dev/shm目录,这个目录和普通目录不同,是放在内存中的,也就是说相当于直接在进行内存操作,所以读取速度非常快,不过缺点是每次机器重启数据都会丢失。同理可以放到redis等内存数据库中。