アプリケーションがあり、このアプリケーションが共通のデータベースを使用していないが、すべてのデータをメモリにロードし、すべてがそこから機能するとします。実行中のアプリケーションのIn Memory Datastoresを置き換える共通のパターンはありますか?
これはWSで、数時間ごとにメモリ内のデータベースを更新します。ダウンタイムを危険にさらしたくないので、メモリ内のデータストアを即座に置き換えるだけでよいからです。
- 特定のデータ、もはや存在しないかもしれない「古い」データストアで使用可能だったと誰かがその瞬間に右のあなたのデータを消費している場合、彼らはで終わるだろう。しかし、それに来て一定のリスクがあるかもしれませんエラー。
- 一部のデータは変更される可能性があり、名前が同じか、わずかに異なる可能性があります。
このような問題に特定のアプローチやパターンがあるかどうかは疑問でした。
私のアプローチは、特定の時間に2つのデータストアを持つことです。 「古い」と「新しい」。新しいセッションはすべて新しいデータストアによって処理され、古いセッションはすべて古いデータストアを使用し、ある時点で新しいデータストアを使用するように強制的に更新されることがあります。その後、私は古いものを投げ捨てて、同じ曲をもう一度始めます。