大学のプロジェクトとして電子投票システムを実装しようとしていて、私の目的に向けた最も重要なステップに直面しました<システムアーキテクチャ>
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
- サーバーのサーバーレス p2p クラウド、クライアントは PNRP を使用して p2p のサーバーとして参加し、サーバーのリストを取得します
- Serverless/State-Server p2p サーバーのクラウド、クライアントは状態サーバーに接続してサーバーのリストを取得します
- サーバーツリーはメインサーバーから下へ
- DHT ネットワーク & データベース システム
私の観点からは、ボトルネック障害点がないため、最後のソリューションが適切でした。これにより、すぐに使用できる DHT ライブラリまたは完全な分散システムを検索して、アプリケーションに統合するか、車輪を再発明して実装することができます。すべてをゼロから!!
質問:
- 適切なソリューションを選択しましたか?
はいの場合、すぐに使用できる [.NET] ライブラリまたはシステムにつながる正しいルートを教えてください。
いいえの場合は、6 つのソリューションで言及していませんが、適切な [.NET] ソリューションを教えてください。
よろしく ,