1

私たちはイベント駆動型の会計エンジンに取り組んでおり、これまでのところすべてをバッチ/シーケンシャルに行っています。

問題は、1 日に何千ものイベントが作成され、すべてを順番に処理すると処理が遅くなることです。

財務データの整合性と一貫性を心配することなく、マルチスレッド イベント処理会計エンジンを実装できる安全な方法はありますか?

それとも、安全にプレイして、バッチ/シーケンシャル アプローチに従うことを許可する方がよいのでしょうか?

4

3 に答える 3

2

おそらく、ソフトウェアのトランザクション メモリ モデルを調べたいと思うかもしれません。コンセプトはこの記事で説明されています

于 2010-12-31T14:46:11.797 に答える
1

あなたはすでに、財務データの整合性と一貫性の要件を満たす会計エンジンの構築を管理しています。これにより、処理の並列化が可能になるはずです。

あなたが必要になるでしょう

  • 一貫性を維持しながら(つまり、各イベントに1回だけ請求する)、処理されるイベントデータを複数のスレッドにフィードする役割を担う新しいディスパッチャコンポーネント。
  • アカウントの評価されたイベントを多重化するための新しいアグリゲーターコンポーネント。

通常、アグリゲーターコンポーネントは、並列アーキテクチャーのボトルネックになります。

マルチスレッドアプリケーションを明示的に構築することを意図しているため:要件と環境によっては、マルチプロセス設計を構築できる場合があります。つまり、複数の独立したプロセスを並行して実行します。プロセス間通信の必要性に比べて、より単純な同時実行モデルが得られます。

事実上すべての電気通信課金システムは、マルチスレッドまたはマルチプロセッシングによって拡張されるため、これは間違いなく順調な方法です。

于 2011-01-01T20:13:04.303 に答える
0

ルールに従えば、複数の同時トランザクションを使用できます


en.wikipedia.org/wiki/Atomicity_(database_systems)
en.wikipedia.org/wiki/ACID
en.wikipedia.org/wiki/Record_lockingをチェックしてください

または、このセクションのすべての関連記事を読む
http://en.wikipedia.org/wiki/Category:Transaction_processing

あなたがしていることのための正しいレベルのロックで

于 2010-12-31T14:48:03.487 に答える