如何给一个有异步回调函数的接口做外部http接口?

旗木五五开 2017-01-16 04:05:48
最近要为一些异步回调接口做外部接口,外部接口采用HTTP同步形式,后端接口是异步回调形式的,不知道怎么处理比较合适,我现在准备使用下图的方案,但是大量请求的时候接口内部轮询事件会不会给服务带来很大压力还不得而知,有没有更好的方案可以处理这种业务场景?谢谢


...全文
459 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xrjxrjxrj 2017-09-07
  • 打赏
  • 举报
回复
请问这个问题最后又什么解决方案么?实际上我的理解其实就是把异步接口封装成同步接口,感觉轮询是一种方式。
X元素 2017-01-17
  • 打赏
  • 举报
回复
引用 3 楼 nn34625 的回复:
[quote=引用 2 楼 u011619071 的回复:] 楼主最好说一下业务场景,
例如一个呼叫中心的程序,分业务系统、http接口程序、CC平台,业务系统是需要访问http同步接口,后端CC平台所有接口都是以异步事件的形式返回,所以才有了我的提问。例如我的业务系统要发起一个呼叫操作,访问了http接口说要呼叫用户,但是CC平台那边是不会马上返回的,需要等待呼叫的回调事件...[/quote] 不知道我理解的是否正确, http接口程序 是做协议转发的?如果是这样的话,你的逻辑是没问题的,实际处理业务逻辑在你的CC平台,但我个人认为,CC程序没必要在通过接口的方式回调其他服务,直接在CC平台服务下 对任务进行处理,楼主只要关心几个问题就好: 1.CC平台需要清楚知道 每个任务的状态 例如 处理中,处理失败,处理成功 2.CC平台服务重启不会丢失任务,任务如何设计,以及各种业务异常场景
旗木五五开 2017-01-16
  • 打赏
  • 举报
回复
引用 1 楼 windowsoahil 的回复:
异步接口适用的场景是写数据而不是查询数据,就是因为不好返回。之所以要异步调用,就是减少调用方需要的响应时间,如果再回调通知就本末倒置了 一定要做的话,轮询可以起个任务调度,最好可以具有重发机制,单次请求快速失败,通过重发来保证正确性
这个轮询也是我为了解决这个问题而想出的,不知道还有没有什么更好更方便的处理方案....
旗木五五开 2017-01-16
  • 打赏
  • 举报
回复
引用 2 楼 u011619071 的回复:
楼主最好说一下业务场景,
例如一个呼叫中心的程序,分业务系统、http接口程序、CC平台,业务系统是需要访问http同步接口,后端CC平台所有接口都是以异步事件的形式返回,所以才有了我的提问。例如我的业务系统要发起一个呼叫操作,访问了http接口说要呼叫用户,但是CC平台那边是不会马上返回的,需要等待呼叫的回调事件...
X元素 2017-01-16
  • 打赏
  • 举报
回复
楼主最好说一下业务场景,
解开者 2017-01-16
  • 打赏
  • 举报
回复
异步接口适用的场景是写数据而不是查询数据,就是因为不好返回。之所以要异步调用,就是减少调用方需要的响应时间,如果再回调通知就本末倒置了 一定要做的话,轮询可以起个任务调度,最好可以具有重发机制,单次请求快速失败,通过重发来保证正确性

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧