在我们当前的生产堆栈中,我们有不同类型的工作负载,其中许多与HTTP相关并在Tomcat容器中运行,但我们还有其他类型的工作负载,这些工作负载已分解为自我管理的独立应用程序和战争文件类似cron的作业,队列(MQTT和SNS)监听器,以及具有大量不同TCP协议的物联网设备的守护程序类型的服务器。
我们知道独立应用程序不易管理,并且在Tomcat容器中运行上述类型的服务也不完全正确,所以我想问一下运行这些服务的最佳实践和/或什么是目前用于这些目的的容器。
我知道EJB可能适用于某些场景,但使用它们可能是一个很大的开销,所以我试图找到更多选项。
PS:99%的软件都是用Java构建的,因此这对我们可能的选择构成了严重的限制。
答案 0 :(得分:2)
听起来你可能想要一个成熟的ESB(企业服务总线),尽管这可能有点过头了。
如果您查看上面链接的维基百科页面的Products section,您会找到多个选项。
但是,如果您只是在寻找通信层,而不是完整的ESB,则可以使用Apache CXF ESB使用的Apache ServiceMix之类的内容。
我自己没有使用它,但它支持多个传输层,例如HTTP,JMS,WebSocket和CORBA,这似乎是你正在寻找的。 p>