2011-07-22 140 views
0

试图实现电子投票系统作为一个大学项目,只是面对朝我的目标<系统架构中最重要的一步>分布式系统拓扑

多服务器/多客户,必须真正是可靠的点约8000万客户端在线,它还必须允许新的服务器加入以支持投票过程,其输出将被统计为&报告,以便它必须允许我随时收集信息,支持加密,散列,摘要分析,。等

我的目标是支持大量的客户端没有中央的失败点,然后让客户端来源苏itable服务器(一个或多个)来验证&表决
合适的服务器(S)取决于2个标准:

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

第一标准所使用最初只,两者都是投票过程中使用

经过搜索我的项目周围的样品发现6解决方案:

在&客户端服务器之间
  • 动态DNS服务器
  • Web场负载平衡调度员在客户端之间&服务器
  • 服务器
  • 无服务器的P2P云,客户端为P2P的服务器使用PNRP来获得服务器
  • 的名单加入服务器
  • 无服务器/国家服务器的P2P云,客户端连接到状态服务器从主服务器
  • DHT网络&数据库SY获得服务器列表
  • 服务器树上下来干

从我的角度来看最后的解决方案是合适的,因为没有任何失败的瓶颈点,这使我开始寻找一个开箱DHT库或全分布式系统的集成在我的应用程序或者只是重新发明轮子&从头开始实施整个事情!

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

问候,

+4

嗨艾哈迈德,请删除wpf标记。这篇文章似乎并没有与Windows Presentation Foundation相关。 –

+0

定义“正确的解决方案”。既然这是一个公正的大学项目,你是否高度关注安全(能够验证选举是不是固定的)?我认为这将是最困难/最重要的部分:但据我所知,目前还没有解决这个问题的方法不合理的代价。 –

+1

噢,一个类似'想上月球的类型,从哪里开始?“这个矫枉过正的问题的例子是什么? –

回答

1

NChord可以让你开始,而不必从头开始,可能会好足够的学术项目。