我有两个使用 spread-toolkit 的进程,我想在同一台机器上运行它们,但不应该在传播中看到对方。
我能想到的唯一简单的解决方案是在同一台机器上的不同端口和配置上运行实例。
有没有办法在扩展配置中将它们分开而不是上面的解决方案?
我有两个使用 spread-toolkit 的进程,我想在同一台机器上运行它们,但不应该在传播中看到对方。
我能想到的唯一简单的解决方案是在同一台机器上的不同端口和配置上运行实例。
有没有办法在扩展配置中将它们分开而不是上面的解决方案?
传播具体答案
根据常见问题解答:
配置和设置问题
What ports can you run it on? Any ports you want. Just change the ports in the configuration file spread.conf and restart the Spread daemons. We recommend using random high ports over 2000.
如果您使用的是 linux 或类似平台,则配置位于 /etc/spread.conf 中。如果您使用的是 Windows 平台,则需要四处寻找它。
您可以在不同的端口上设置多个扩展段。请参阅用户指南的第 9-12 页。此外,您可能会在此 Stack Overflow问题中找到一两条信息。这是一个简单的示例片段:
Spread_Segment 192.168.0.255:2000 {
machine1 192.168.0.1
machine1 192.168.0.2
}
Spread_Segment 192.168.0.255:2001 {
machine1 192.168.0.1
machine1 192.168.0.2
}
警告:我只是用一些现成的信息更新了我的答案,我希望这些信息会有所帮助。我目前没有使用 Spread 的实际经验。
原始答案
可能有特定于传播工具包的解决方案,但是,不熟悉它,我会提到一些您可能会使用的更通用的方法。
如果您的集群运行的是 linux,那么您可以使用Linux Containers来做您想做的事情。这些基于称为控制组的内核特性。
如果您的集群正在运行 BSD 衍生产品,则相应的技术是BSD Jails。BSD Jails 的存在时间比 linux 选项更长,并且经过了很好的测试。
这两种方法都使用操作系统虚拟化,这比完全虚拟化和半虚拟化都轻得多(开销更少)。