【发布时间】:2011-07-22 05:02:08
【问题描述】:
试图将电子投票系统作为一个大学项目来实现,并且正朝着我的目标迈出最重要的一步
多服务器/多客户端,必须真正可靠到大约有 8000 万客户端在线,还必须允许新服务器加入以支持投票过程,其输出将是统计数据和报告,因此它必须让我随时收集信息,支持加密,散列,摘要确认,..等
我的目标只是支持大量没有中心故障点的客户端,然后让客户端找到合适的服务器进行身份验证和投票
合适的服务器取决于 2 个标准:
- 服务器距离优先
- 服务器负载优先级
最初使用的第一个标准,在投票过程中都使用了两者
在围绕我的项目搜索示例后,找到了 6 个解决方案:
- 服务器和客户端之间的动态 DNS 服务器
- 客户端和服务器之间的 Web 场负载平衡调度程序
- 无服务器 p2p 云服务器,客户端作为 p2p 服务器加入,使用 PNRP 获取服务器列表
- Serverless/State-Server p2p 云服务器,客户端连接到状态服务器以获取服务器列表
- 从主服务器向下的服务器树
- DHT 网络和数据库系统
从我的角度来看,最后一个解决方案是合适的,因为没有任何瓶颈故障点,这导致我开始搜索开箱即用的 DHT 库或完整的分布式系统以集成到我的应用程序中,或者只是重新发明从头开始轮并实施整个事情!
问题:
- 我是否选择了正确的解决方案?
如果是,请指点我正确的路线导致开箱即用的 [.NET] 库或系统!
如果否,请指出合适的 [.NET] 解决方案,即使我在 6 个解决方案中没有提到它!
问候,
【问题讨论】:
-
嗨,艾哈迈德,请删除 wpf 标签。这篇文章似乎与 Windows Presentation Foundation 无关。
-
定义“正确的解决方案”。既然这是一个刚刚的大学项目,你是否高度关注安全性(能够验证选举不是固定的)?我认为这将是最困难/最重要的部分:但据我所知,目前没有不以不合理的便利成本解决这个问题的解决方案。
-
哦,这是一个矫枉过正的问题的例子,输入类似于“想去月球,我从哪里开始?”
标签: c# p2p distributed-system dht