分布式系统拓扑

时间:2011-07-22 05:02:09

标签: c# p2p distributed-system dht

尝试将电子投票系统作为一个大学项目实施,并且只是朝着我的目标迈出了最重要的一步。 <系统架构>

多服务器/多客户端,必须真正可靠到大约8000万客户端在线,它还必须允许新服务器加入以支持投票过程,其输出将是统计和&amp;报告,以便它必须允许我随时收集信息,支持加密,散列,消化,等等。

我的目标只是支持许多没有中心故障点的客户端,然后让客户端成为合适的服务器进行身份验证&amp;投票
合适的服务器取决于2个标准:

  • 服务器距离优先级
  • 服务器负载优先级

首先使用的标准最初只在投票过程中使用两者

在我的项目周围搜索样本后找到了6个解决方案:

  • 服务器之间的动态DNS服务器&amp;客户
  • 客户端之间的Web Farm负载平衡调度程序&amp;服务器
  • 无服务器p2p服务器云,客户端使用PNRP作为p2p服务器加入获取服务器列表
  • 无服务器/ State-Server p2p服务器云,客户端连接到状态服务器以获取服务器列表
  • 从主服务器向下的服务器树
  • DHT网络&amp;数据库系统

从我的观点来看,最后的解决方案是合适的,因为没有任何瓶颈故障点,这导致我开始搜索开箱即用的DHT库或完整的分布式系统,以集成到我的应用程序中或者只是重新发明轮子和轮子从头开始实施整个事情!!

问题:
- 我选择了正确的解决方案吗?    如果是,请指出正确的路线指向开箱即用的[.NET]库或系统!
   如果不是,请指出我合适的[.NET]解决方案,即使我没有在我的6个解决方案中提及它!

问候,

1 个答案:

答案 0 :(得分:1)

NChord可以帮助你开始,而不必从头开始,可能对学术项目来说已经足够好了。