在我们当前的生产堆栈中,我们有不同类型的工作负载,其中许多与HTTP相关并在Tomcat容器中运行,但是我们还有其他类型的工作负载,这些工作负载已拆分为自我管理的独立应用程序和war文件,这些文件触发了cron-例如作业,队列(MQTT和SNS)侦听器,以及具有大量不同TCP协议的IoT设备的守护程序类服务器。

我们知道,独立应用程序不易于管理,并且在Tomcat容器中运行上述类型的服务也不是完全正确的,因此,我想问一下运行此类服务的最佳实践是什么,和/或当今用于以下用途的容器是什么?这些目的。

我知道EJB在某些情况下可能会起作用,但是使用它们可能会产生很大的开销,因此我试图寻找更多的选择。

PS:99%的软件是用Java内置的,因此这对于我们可能的选择是一个沉重的限制。

最佳答案

听起来您可能想要成熟的ESB(企业服务总线),尽管这可能有些过头。

如果您查看上面链接的Wikipedia页面的Products section,则会找到多个选项。

但是,如果您只是在寻找通信层而不是完整的ESB,则可以使用Apache CXF ESB使用的类似Apache ServiceMix之类的东西。

我自己没有使用过它,但是它支持多个传输层,例如HTTP,JMS,WebSocket和CORBA,这似乎正是您要寻找的。

09-26 22:52