NoSQLとマイクロサービスアーキテクチャに基づいてシステムを開発しています。マイクロサービス - トランザクションレスシステムでゴーストレコードを処理するためのベストプラクティス
私は一般的な建築疑問がある - 国、都市や街 -
Le'tsは、私は、文書の三種類を持っていると言います。
StreetにはCityIdがあり、CityにはCountyIdが保持されています。
- が国を削除します:私はdeleteCountry()方法を開発する必要がある国のサービスで
。
- すべての都市をcountryIDで削除するように市サービスに要求します。
- 市のサービスは、すべてのストリート・サービスに対してcityIdsによってすべてのストリートを削除するように要求します。
問題:このプロセスは、国の削除後に失敗した場合、トランザクションレスの世界で、私はいくつかの「ゴースト」の文書が残っています。
- それはそれの後に をきれいにするように私は私のオーケストレーションに失敗したことを管理することができますが、これはスケーラブル(コード単位)ソリューションではありません。
- 私は振り付けパターンで作業することはできますが、本当にそれを解決するわけではありません。
- 文書をクリーンアップする定期的な掃引プロセスを実行できますが、 は管理が難しく、問題がまだ存在する時間の穴が残っています。
NoSQLデータベースからゴーストレコードを削除することをお勧めします。
ありがとうございます。
ゴーストをスキャンして排除するサービスをご利用ください。 –