PHP-怎样提高php网络请求的稳定性?

PHP-怎样提高php网络请求的稳定性?

想挽留 发布于 2016-12-13 字数 186 浏览 1053 回复 3

在php程序里,经常会需要通过file_get_contents或curl或fopen等方法请求远程(非同机房)网络接口,但有时网络不太稳定,或者出现dns出错等情况,通过什么方法能提高php远程网络请求的稳定性?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

虐人心 2017-03-05 3 楼

1.file_get_contents里面的url应该是一个特定的域名,这样可以将域名对应的ip写入host文件,这样就不需要进行dns请求了,就会加快响应速度。

清晨说ぺ晚安 2017-01-18 2 楼

我想到的下面三点:

1.对接口请求情况进行判断;即判断网络是否畅通,失效即先通过获取本地存储上一次的结果。

2.设置合理的超时时间,根据远程站点响应速度,大约2-5s肯定会返回数据。如果接口请求不超时,获取数据后直接进行最新的数据处理,并删除有关的最后一次查询结果,并将最新的查询结果写入数据库或memcache。

3.本地存储结果数据,将最后一次成功查询结果写入数据表或存储到memcache里,接口失效的时候调用最后一次成功查询记录。

甜柠檬 2016-12-24 1 楼

1,请求之前先判断一下连通性。
2,设定一个重试机制
3,如果条件允许,把多次请求合并在一起,减少请求次数
4,对于实时性要求比较强的话,就要从硬件层面解决,如果对实时性要求不强,异步来就可以了

对于获取数据
做冗余请求
对于提交数据
在本地做cache,假装你已经成功了,然后在后台向对方异步提交。最终保持数据的一致性