PHP CURL 远程异步调用
PHP
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Server
Client.php
README.md

README.md

CURL 异步远程调用

开发思路


1、被调用者(server)对外暴露一个接口,接口中启守护进程,加锁,保证同一时间段只能启动一个后台进程。
2、调用者使用CURL访问该接口,启动后台守护进程,等待1秒后直接断开,进程进入后台运行,返回调用成功。

为什么采用该方案

1、调用不频繁。
2、需快速上线。
3、熟悉CURL库
4、可以接受该方案的缺点。

优点

 1、 风险可控
 2、 快速实现

缺点

 1、需要走两次请求
    第一次请求用来确认远程API是否可以访问。
    第二个请求用来走实际的业务逻辑,之所以走两次是因为真正的业务逻辑需要10分钟左右能执行完毕,显然调用方不能等待这么久,
    一定是将请求发出后让任务在后台运行,所以光走一个请求并没办确定接口是否真的走通了。
    
 2、必须等待1秒
 

安全保障


1、两个项目之间内网通信,即使请求地址被截取,在外部也无法被调用。
2、进程监控及日志分析。