Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Comed应用程序是否需要强制使用Websocket协议_Spring Boot_Tomcat_Websocket_Netflix Zuul_Cometd - Fatal编程技术网

Spring boot Comed应用程序是否需要强制使用Websocket协议

Spring boot Comed应用程序是否需要强制使用Websocket协议,spring-boot,tomcat,websocket,netflix-zuul,cometd,Spring Boot,Tomcat,Websocket,Netflix Zuul,Cometd,我必须向用户发送帐户更新消息,以便更新可以像实时更新一样直接显示在浏览器中 我们现有的应用程序架构拥有Zuul 1.x.x代理、Spring boot RESTFul micro服务(只是一个直通服务)和作为后端的第三方应用程序。SpringBootRESTful服务使用OAuth作为安全机制来验证接收到的请求 除第三方外,所有这些均在AWS ELB和EC2中建立 因此,我的问题是,CometD集成/应用程序是否可以在没有WebSocket的情况下实现上述功能 当我阅读他们的文档时,他们总是说,

我必须向用户发送帐户更新消息,以便更新可以像实时更新一样直接显示在浏览器中

我们现有的应用程序架构拥有Zuul 1.x.x代理、Spring boot RESTFul micro服务(只是一个直通服务)和作为后端的第三方应用程序。SpringBootRESTful服务使用OAuth作为安全机制来验证接收到的请求

除第三方外,所有这些均在AWS ELB和EC2中建立

因此,我的问题是,CometD集成/应用程序是否可以在没有WebSocket的情况下实现上述功能

当我阅读他们的文档时,他们总是说,它可以通过HTTP或Websocket工作,但我无法断定是否可以通过CometD集成仅使用HTTP来推送消息

我的困惑在于,如果我将Comed集成到现有的Spring boot microservice应用程序中

CometD能否仅提供HTTP推送机制并与服务器建立连接?或者它需要websocket ws://并且需要在Zuul代理和web服务器中连续启用websocket来建立 是否从浏览器/UI与服务器建立连接? 它是否将现有spring boot restful微服务的完整性质更改为web应用程序
请在这方面指导我,以便我可以继续。

CometD在没有WebSocket的情况下工作得非常好,因此您可以使用HTTP将消息从CometD服务器推送到您的浏览器客户端

从:

CometD为您提供了实现这些消息传递模式的API:发布/订阅、通过服务器的点对点以及远程过程调用。这是通过使用独立于传输的协议(Bayeux协议)实现的,Bayeux协议可以通过HTTP、WebSocket或其他传输协议进行传输,这样应用程序就不会绑定到特定的传输技术

您可以在服务器端禁用WebSocket传输,请参阅中的allowedTransports参数:

... 降临 org.cometd.server.CometDServlet 允许运输 长轮询方式 ... ...
有关进一步的自定义,您可以在其中指定要使用的传输实现类,另请参见。

非常感谢您的回复。然而,这可以通过嵌入tomcat而不是jetty的SpringBoot应用程序实现。另外,由于您已确认它不需要websocket,因此我们不需要在服务器上打开/启用TCP。我不理解您的评论。CometD独立于Servlet容器,因此可以与Tomcat和Jetty一起使用。CometD推荐Jetty,因为CometD+Jetty的组合经过了良好的测试和部署,等等。您可以将Spring Boot配置为使用Jetty而不是Tomcat。服务器上必须有TCP,因为HTTP基于TCP。