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

发布于 2016-12-13 09:44:15 字数 114 浏览 1160 评论 3

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

评论(3

虐人心 2017-03-05 00:55:47

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

清晨说ぺ晚安 2017-01-18 01:57:36

我想到的下面三点:

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

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

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

甜柠檬 2016-12-24 04:49:57

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文