我正在开发一个perl后端项目,该项目根据JSP Web应用程序提供的输入执行操作。两者都在基于Linux的服务器上运行。执行请求的操作后,后端需要向前端发送确认/确认 - 这需要实时发生。
我被建议使用文件作为这些前端和后端程序之间的通信手段。根据设计,有一个文件用于前端到后端消息,另一个用于反向,即后端到前端消息。两者都将由前端/后端进程连续读取,这些进程将根据从这些文件中读取的控制消息采取适当的操作。
尚未编写此代码,因为我仍然不确定这是否是最好的方法。我听说过进程间通信但不确定如何在我的情况下实现它。我真的很擅长这种事情,我正在寻找建议/建议或一个很好的参考,这将指出我朝着解决这个问题的正确方向。
答案 0 :(得分:0)
如果我正确理解您的问题,您可以在服务器上运行两个单独的应用程序。
现在A想要与B.正确沟通?
我同意BarneySchmale及其评论。我不会基于输入/输出文件实现通信。首先,因为这会强制您使两个应用程序对相同的文件具有读/写访问权限,这使得设置不具有很高的可伸缩性。其次,因为你总是要监听文件的变化。以高效的同步通信方式实现这一点可能很棘手。
我的建议是通过从应用程序A到B的HTTP调用进行通信。例如,您可以使用RESTful方法。应该有大量的库来帮助您实现这一点。它是可扩展的,意味着如果您决定将应用程序B放在不同的服务器上,它仍然有效。您可以在它们之间放置防火墙,切换到安全通信,没问题。并且它相对容易调试。
当然,在选择最终架构之前还有一些问题需要考虑,例如:
当然,如果你从异步通信开始,你必须有某种排队。或者甚至是应用程序A和B之间的消息代理,如果它变得复杂。