分布式系统拓扑
尝试将电子投票系统作为一个大学项目实施,刚刚迈出了实现我的目标的最重要的一步<;系统架构>>
多服务器/多客户端,必须真正可靠到大约 8000 万客户端在线,它还必须允许新服务器加入以支持投票过程,其输出将是统计数据和数据。报告,以便它必须允许我随时收集信息,支持加密、散列、摘要确认等。
我的目标只是支持大量客户端而没有中心故障点,然后使客户端找到合适的服务器进行身份验证&投票
合适的服务器取决于 2 个标准:
- 服务器距离优先级
- 服务器负载优先级
使用的第一个标准 最初仅在投票过程中使用 两个标准
在搜索我的项目周围的示例后发现 6 个解决方案:
- 服务器和服务器之间的动态 DNS 服务器客户
- 端与客户端之间的 Web Farm 负载平衡调度程序服务器
- 无服务器 p2p 云服务器,客户端作为 p2p 服务器加入,使用 PNRP 获取服务器列表
- 无服务器/状态服务器 p2p 服务器云,客户端连接到状态服务器以获取服务器列表
- 从主服务器 DHT 网络向下的服务器树
- & ;数据库系统
从我的角度来看,最后一个解决方案是合适的,因为没有任何瓶颈故障点,这导致我开始搜索开箱即用的 DHT 库或完整的分布式系统以集成到我的应用程序中,或者只是重新发明轮子&从头开始实施整个事情!
问题:
- 我选择了正确的解决方案吗?
如果是,请指出通往开箱即用的 [.NET] 库或系统的正确路线!
如果否,请指出合适的 [.NET] 解决方案,即使我在我的 6 个解决方案中没有提到它!
问候 ,
Trying to implement an electronic voting system as a college project and just faced the most important step towards my aim < the system architecture >
Multi-Server/Multi-Client , MUST really be reliable to the point of about 80 million clients are online , It also MUST permit new server joining to support the voting process , Its output will be statistics & reports so that it MUST allow me gathering information at any time , Supporting encryption , hashing , digest acks , .. etc
My aim is just to support lots of clients without central point of failure then make client fount the suitable server(s) to authenticate & vote
Suitable server(s) depends on 2 criteria :
- Server distance priority
- Server load priority
First criteria used Initially only , Both are used during voting process
After searching samples around my project found 6 solutions :
- Dynamic DNS server in between servers & clients
- Web Farm Load Balancing Dispatcher in between clients & servers
- Serverless p2p cloud of servers , client join as the server of p2p using PNRP to get list of servers
- Serverless/State-Server p2p cloud of servers , client connects to state server to get list of servers
- Servers tree down from main server
- DHT network & database system
From my point of view last solution was the suitable as there isn't any bottle neck point of failure , this leads me start searching an out of box DHT library or full distributed system to be integrated in my application or just reinvent the wheel & implement the whole thing from scratch !!
Questions :
- Did i choose the right solution ?
If YES , Please point me to the right route leads to an out of box [ .NET ] library or system !
If NO , Please point me to the suitable [ .NET ] solution even that I didn't mention it in my 6 solutions !
Regards ,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
NChord 可以帮助您入门,而不必从头开始,并且对于学术项目来说可能已经足够了。
NChord could get you started without having to start from scratch and probably will be good enough for an academic project.