首先,我必须说我的问题的答案可能已经存在。 (甚至有可能我只是使用了错误的搜索词)也许我只是忽略了它。如果是这样的话,我想提前道歉。
我是netty的新手所以我可能错过了一些显而易见的东西。对于我的所有问题,我都乐意为正确的方向提供一些暗示。
我正在努力建立:
- 中央实体:我的程序的每个其他实例都是通过连接到此实体开始的。它收集有关活动实例的信息,并告诉现有实例有关新实例(反之亦然)。中心实体用于传递命令。实例可以向其报告或发送状态信息(状态信息不会转到所有其他实例,而是转到用户控制的实例)
- 每个实例都连接到所有其他实例。实例运行不同的模块(每个模块都是整个数据处理的一部分。因为处理是在不同的步骤中完成的,我只是使用模块的数字而不是它们的名称以及它们应该做什么)。数据必须从模块1传递到模块2到模块3等。来自具有模块1的实例的数据直接传递给实例运行模块2。来自instance1的数据可能必须转到实例3或实例4(取决于数据)。每隔1-10秒就有一个数据要传递给下一步(第一步差不多10秒,所有后续步骤必须在下一个数据块到达之前完成它们的部分 - 只是给人一种印象情景)。有些数据甚至可能必须跳过流程中的步骤(取决于块中的特定数据)。
我希望我收到所有必要的信息。
所有这些让我想到了多个问题:
- 使用UDP进行数据传输或TCP连接会更好吗? (流量必须加密。我需要一种方法来验证它没有被改变。我猜它不依赖于所使用的协议。也许它更容易或者更安全"如果我使用TCP。)
- 从我在例子中阅读和看到的内容来看,它始终是一个简单的客户端 - 服务器架构。服务器接收消息并将它们中继到所有客户端。对于我的场景,我还不知道应该怎么做(最好)。有些消息必须传递给所有客户端。有些人只需要接触特定的客户。我还没有找到关于如何实现这样的事情的好答案。 (我得到了一些想法,但只有0经验,我只是找到新的想法,但没有答案。而且我想找到一些不仅仅是由于我缺乏知识而导致的工作。)
醇>