我必须在一堆不同的网络中部署一些 Java 服务器。对于每台服务器,我需要监视其状态并向其发送要在该特定服务器中执行的任务。类似于分布式工人。
该服务器将用于不同的平台和语言,因此我需要找到一种与它们通信并获取所需信息的方法。最好的方法是什么?我一直在阅读有关使用 JSON 与我的服务器进行通信的信息,但我正在尝试找出是否有更好的方法。
另一种解决方案可能是拥有一个 Web 仪表板并通过 Web 请愿来控制所有内容,但我更喜欢服务器是独立的。关于我能做什么的任何想法?
我必须在一堆不同的网络中部署一些 Java 服务器。对于每台服务器,我需要监视其状态并向其发送要在该特定服务器中执行的任务。类似于分布式工人。
该服务器将用于不同的平台和语言,因此我需要找到一种与它们通信并获取所需信息的方法。最好的方法是什么?我一直在阅读有关使用 JSON 与我的服务器进行通信的信息,但我正在尝试找出是否有更好的方法。
另一种解决方案可能是拥有一个 Web 仪表板并通过 Web 请愿来控制所有内容,但我更喜欢服务器是独立的。关于我能做什么的任何想法?
目前,我建议您的 Java 服务器使用 REST 接口。由于带有 Json 的 REST 也很容易用其他语言实现,您甚至可以使用 HTML 和 JavaScript 编写 Monitor 客户端。所以从我的角度来看,这是最灵活的解决方案。
另一种解决方案是使用XMPP与服务器“交谈”并“询问”他们那里的状态。我记得这是机器对机器通信的解决方案,但这是在 Json 和 REST 繁荣之前,所以我不建议这样做。
当您的其他平台主要由 Java 和 C# 组成时,SOAP 也可能是一种解决方案,因为这两种语言都有很好的代码生成器,可以从代码创建 WSDL,反之亦然。但是在 JavaScript 中使用 SOAP 有点困难(据我的经验),也许其他语言也有同样的问题 SOAP。
如果涉及多个平台,Web 服务可能是您最好的选择。您可以让 Java 服务器公开 Web 服务(用于状态和任务执行),您可以从任何地方/任何系统调用它们。