是否可以通过Apigee代理Web套接字服务?

时间:2014-06-18 20:46:30

标签: apigee

我能够代理到常规的休息服务终点就好了。但是,我无法建立与Web套接字资源的连接。

3 个答案:

答案 0 :(得分:1)

Apigee几乎是为默认代理配置中的HTTP连接设置的。但是,使用Apigee连接到Web套接字有两种选择:

node.js:在Apigee中设置一个本机node.js项目。这与标准代理流分开,但您可以使用socket.io,并且可以创建到多个目标的异步连接。

Java callout:在Apigee Edge(商业)版本中,您可以通过UDP或TCP连接任何内容。

答案 1 :(得分:1)

据我了解这个问题,我认为您想要连接到“ws:// custom host / url” - 即您希望使用代理websocket协议而不是HTTP或HTTPS。我认为这还不支持。

您可以使用Apigee Extension Policies执行相同的操作。我不确定Java SE是否支持ws协议。我们在Java标注中支持Java SE - 您可能需要检查一下。您可以在Apigee中使用其他语言支持来试用ws

但我希望你思考一个基本问题 - 为什么代理ws Websockets意味着服务器和客户端之间的全双工专用管道。 Apigee Edge确实是一个很短的请求 - 它可以连接池和多任务。 Websockets将使此无效。在我的理解中,Websocket并不意味着与任何代理解决方案一起使用,即使普通代理服务器也存在协议问题。 Websocket用于客户端和服务器之间的独占中断通信。

答案 2 :(得分:1)

Apigee支持websocket,在创建新的api代理时,您必须选择服务作为websocket服务。 Websocket apigee

Apigee提供两种版本的Edge私有云:一种支持WebSockets,另一种不支持。如果要使用WebSockets,则必须安装正确版本的Edge。

注意:您没有在API代理中定义显式资源。