我的系统需要在Linux机器上托管网站,而网站所需的后端应用程序需要驻留在Windows上。 这种托管是否有“常见做法”?
注意 - 这两个系统都是我的,因此存在两难的问题,即是否将机器放在一起以避免网络上的呼叫延迟。
答案 0 :(得分:0)
这是Web服务的一个很好的场景。您可以在Windows端设置服务(使用WCF,JAX-WS等),以及Linux端将使用的任何语言的客户端。这就是Web服务的优点:互操作性。
答案 1 :(得分:0)
根据系统编写的语言,您可以在同一台服务器上运行它们,无论是Windows还是Linux服务器 - PHP在Windows上运行良好,使用Mono,您可以运行大多数.Net应用程序在Linux下也是
答案 2 :(得分:0)
(顺便说一句,我在上面发布了对statenjason的帮助。)
虽然你没有提到服务器的具体数字,但我认为两者都是相对现代化的机器,能够满足以下要求 -
当您将Windows应用程序描述为“遗留后端”时,我假设它是为其编写的,并且可能更喜欢在旧版本的Windows(XP或更早版本)上运行。由于这些系统越来越容易出现安全漏洞,因此将它们与开放网络(或类似的攻击媒介)保持距离非常重要。
出于这个原因,除了最小化RoR应用程序和后端之间的距离之外,我还是建议在Linux服务器中虚拟化整个Windows安装。这允许Linux服务器充当前端,同时仍然通过环回网络设备在Windows内部使用后端(比通过外部路由器运行更快)。然后,可以使用两台服务器中功能较弱的镜像来镜像此设置,以提供备份和故障转移解决方案。
虚拟化Windows还可以轻松恢复和保护,同时最大限度地减少冲突应用程序运行的需要(即防火墙,防病毒)。
要回答机器是否应该位于一起,在前面提到的备份设置中,否,以及在联网计算设置中(都托管各个应用程序),是的。
答案 3 :(得分:-1)
有一个网络托管服务,提供窗口和放大器Linux操作系统。它被称为Mosso。
编辑: 从我所看到的情况来看,我认为使用像Mosso这样的服务会更好,但是,如果你不能,你可以同时运行这两种服务并通过套接字相互通信。如果你的网站像stackoverflow一样繁忙,我怀疑延迟会成为一个问题。如果你这样做,最好让两台服务器物理上位于同一个地方,通过局域网连接。