私は、POS からデータを収集し、それを中央データベースに挿入する既存のシステムを更新するように割り当てられました。現在機能しているものは FTP/SFTP 送信に基づいており、情報は 1 日 1 回、通常は夜間に送信されます。残念ながら、接続リンクが不安定なため (低品質の 2G/3G モデム)、一部のファイルが壊れているようです。そのように接続された数店舗だけではすべてがスムーズに機能していましたが、店舗が増えるにつれてエラーが頻繁に発生しました。さらに悪いことに、
私のマネージャーが提案したアイデアは、日中、継続的にデータを送信することです。データ パッケージが大幅に小さくなるため、転送と挿入がはるかに高速になり、中央サーバーには実際の (ほぼリアルタイムの) データが格納され、夜間はバックアップの作成やインデックスの再構築などの長時間実行されるデータベース アクティビティに使用できるようになります。
多くのWebサイトを調べた後、次のことがわかりました。
- ASMX Web サービスの使用は廃止され、代わりに WCF を使用する必要があります
- MSMQ またはシステム メッセージングを備えた WCF を使用すると、データの配信、一貫性、オフラインになるノードなどの確認についてあまり気にする必要がない場合に、データを安全に送信できます。
- http://blogs.msdn.com/b/motleyqueue/archive/2007/09/22/system-messaging-versus-wcf-queuing.aspxによると、WCFキューイングの方が優れています
- RabbitMQ、ZeroMQ など、メッセージ キューを実装するための他のテクノロジもあります。
そして、それが私が混乱するところです。非常に多くのオプションがありますが、これらのテクノロジーの長所と短所はありますか? Windows Forms と SQL Server で .NET を使用していましたが、必要に応じて、より適したものに変更できます。サーバーの効率も少し心配です。いくつかの計算の後、サーバーは 1 秒あたり約 15 パッケージのデータを受信します (ピーク)。多いですか?本格的なサーバー インフラストラクチャを持たず、オンラインで何百人もの訪問者を処理し、スムーズに動作する Web サイトが多数あることは知っていますが、Web サイトは主にクライアントにデータをアップロードし、ここではクライアントからデータをダウンロードします。
また、やや似た SO の質問も見つかりまし た。DDS が言及されている分散システムのデータ収集と監視を構築するためのミドルウェアです。メインサーバーが 1KB/s の転送で詰まらないように、POS への低品質のリンクに対処するミドルウェアサーバーを導入することについてどう思いますか?
どうぞよろしくお願いいたします。前もって感謝します!