java - 如何在集群上使用 JVM 程序? (比如停产的 cJVM/JavaSplit)

标签 java linux multithreading jvm cluster-computing

我一直在深入研究 IBM 关于 JavaSplit 的研究和 cJVM因为我想在一个由 4 个 Raspberry Pi 3 Model B 组成的集群上运行 JVM 程序,例如 This .

我对集群和分布式计算几乎一无所知,所以我开始深入研究,尝试让 Minecraft 服务器在它们之间运行。

我的问题是,是否有一种相对简单的方法可以让在 JVM 上运行的 Java 程序在无需访问源代码的情况下跨集群拆分?

注意事项:

主要问题是大多数 Java 程序(包括玩具程序)并不是为跨集群运行而构建的,但我希望我能找到一种方法来破解 JVM 以使其正常工作。

我已经看到了一些可能的解决方案,但由于 Minecraft 和 Java 的性质,更新如此频繁,而且情况不断变化,我什至不知道什么是可能的。

据我所知,FastCraft实现多线程支持,或者过去是,现在是内置的。

目的:

这对我来说既是玩具程序又是实际问题。我这样做是为了了解集群的工作原理,了解有关 Linux 管理和分布式计算的更多信息,因为它很有趣。我这样做不是为了设置我的世界服务器。服务器是最重要的,但如果它不能正常工作,我会把它推到戴尔塔上。

最佳答案

MineCraft 可以使用有效的分区服务进行扩展。通常使用的工具是BungeeCord这允许客户端连接到一个服务,该服务将 session 传递给多个后端服务器,这些服务器在很大程度上没有改变地运行。这限制了可以在一个服务器中的用户数量,但在他们之间您可以拥有任意数量的服务器。

关于java - 如何在集群上使用 JVM 程序? (比如停产的 cJVM/JavaSplit),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321166/

相关文章:

java - JOptionPane.showConfirmDialog 带有 JScrollPane 和最大尺寸

java - 用Java重写C代码还是使用JNI?

virtio : how does it control the network speed/duplex? 中的 Linux ethtool

java - 安排任务以可变时间间隔运行

c# - 锁定从非 UI 线程调用的富文本框

java - 为什么抽象不适用于接口(interface)隐式方法?

java - 在 MySQL 集群上使用 JPA/Hibernate 检查外键约束

mysql - 使用 Cron Job 进行每日数据库备份

服务器应用程序中的 C 内存管理

java外部线程(在它使用的类文件之外)