我们计划让Apigee Edge公开一个REST API。面向客户端的端点将由Apigee管理。另一个REST服务将在Apigee后面托管。当调用Apigee端点时,我们计划将请求存储在Kafka中,以便可以异步处理它。在服务器处理它之后,我们打算向发出请求的客户端应用程序推送一条消息。
这是一种常见的做法吗?
Apigee是否有一个功能来记住客户端,比如它的websocket,以便可以推送通知?
发布于 2019-03-31 19:09:52
首先,Apigee是同步API的网关。对于之前已经处理过的请求,没有默认的“返回”方式。所以:不,这不是常见的做法。
一种更常见的做法是向“Apigee后面的另一个REST服务”添加异步调用,这意味着Apigee立即返回响应,而不等待目标完成。然后,该后端服务将自己实现回调,可能是通过其他Apigee代理。
在您的特定情况下,您正在实现的模式基本上是一个消息队列,使用Kafka作为消息代理。在这种模式下,最佳实践是让消息接收方在完成工作后立即发送回复消息。
关于websockets,Apigee目前还不支持它(参见https://community.apigee.com/questions/60513/apigee-as-websocket-proxy.html)。
https://stackoverflow.com/questions/53930655
复制相似问题