1

それが可能かどうか、そして私が使用しているアプローチが正しいことを知りたい:)

私は .net を使用しており、c# と DB は SQL です。

複数のデータ (毎秒 1000 レコードのベンチマーク) を取得するアプリケーションを作成しようとしています。各レコードは約 0.5 kb です。

同じものを受け取り、データを処理して通知をトリガーし、データベースに挿入する必要があります。

私の解決策: (a) ロード バランサーでデータを受信する。(b) Sockets で何らかの技術を使用して、各サーバーのさまざまなポートでデータを受信します。(c) 適切な通知のために各パケットを処理する必要があるため (これはまだ把握していません)、中間的に保存します (通知はクライアント サイトの Web ページで更新されます) (d) 次に、データをデータベースに挿入します。

いくつかの提案、正しいパスが必要です。やがてコードを理解しますが、アプローチとテクノロジーに関する方向性が必要です。

また、wso2 ミドルウェアを使用すれば、重いサーバーに投資しなくても上記を実現できるとも言われました。

4

2 に答える 2

0

WSO2 BAM を使用します。これは、ユーザーが要求したことを正確に実行するように構築されており、オープン ソースです。それをダウンロードして、いくつかのサンプルを実行してください。バイナリとドキュメントをダウンロードします。カスタムデータを公開するための非常に高速な Java SDK があります。同じ目的のための REST API もあります。C# を使用しているので、これは興味深いでしょう。

于 2012-08-23T18:52:45.460 に答える
0

セットアップに使用するものによっては、データベース IO がボトルネックになります。

C# ソケット アプリに関する限り、非同期ソケットを使用する場合、1 秒あたり 1000 パケットはそれほど多くないため、ロード バランサーは必要ありません。パケットを取得したら、それらを処理し、ロジックを実行して Web サイトの更新が必要かどうかを判断できる C# 中間クラス オブジェクトにデータを格納します。これらのクラスは、レコードをデータベースに挿入し、新しいデータがあることを Web サイトに通知することも処理します。SignalR を使用して、C# アプリケーションから asp.net Web アプリケーションにこれを行います。

于 2013-01-09T20:17:42.180 に答える