2014-12-03 34 views
1

我想使用Ring将websocket服务器部署到在AWS Elastic Beanstalk上运行的Tomcat容器。我不知道该怎么做,或者如果甚至可以不写一个支持websockets的Ring适配器。在部署到Tomcat的Clojure Ring应用中使用websocket

我看了看ring.util.servlet,看起来它只能处理HttpServlet。为了在Tomcat中使用websockets,我需要扩展WebSocketServlet

我知道关于http-kit,看起来非常棒,但我无法将它部署到Elastic Beanstalk,因为它无法在应用程序容器中运行,但必须作为独立应用程序运行。

有没有人将一个websockets Ring应用程序部署到Tomcat?

回答

1

是的,http-kit是用来代替Tomcat,but you can use a reverse proxy like nginx。如果你真的不想这样做,你可以考虑使用Pedestal with SSE instead of websockets

除此之外,它看起来并不像websocket支持的任何环形库,所以你必须自己开拓它。

+0

我很害怕这一点。反向代理不会帮助我,因为我仍然需要部署到Elastic Beanstalk。 EB现在支持Docker,所以最好的办法是在Docker容器中运行我的http-kit应用程序。 – 2014-12-04 16:32:30

1

你也可以看看vertx,它已经内置了对websockets的支持。有clojure语言支持。 see here.。有一个环形适配器here。你也可以阅读如何在基于clojure环的应用程序中嵌入vertx。

如果你可以自由使用除tomcat以外的其他东西,你可以试试immutant这是基于jboss。 Here is an article on immutant, vertx and websockets.

乔希

+0

为了这个问题的目的,我需要一些适用于Tomcat的东西。如果我没有得到肯定的答案,我将不得不考虑其他选项。 – 2014-12-04 18:14:05

相关问题