私は、一度だけ実行する必要があるリクエストを受け取るサービスを設計しています(一意のIDが存在するため、複数回受け取ることができます)。
フローは次のとおりです。
外界 -> HTTP -> [Myservice のインスタンスのセット] -> HTTP -> ベンダー サービス
そのため、HTTP経由で一連のリクエストを受信しており、変換、チェック、データベースへのリクエストの保存、およびHTTP経由でのベンダーサービスへの送信も検討しています。
私の質問は:
私のサービスでストア アンド フォワード パターンを実現する効果的な方法は何ですか。つまり、リクエストを受信してすぐに保存し、それを「外部の世界」にすぐに送信してから、自分の時間に宛先サービスに転送し、できるだけ多く再試行します。必要な回数?
問題:
- myservice のインスタンスの 1 つが、要求をベンダー サービスに送信しているときにダウンした場合はどうなりますか?
- 転送されていない大量のリクエストがあるかどうかを監視するにはどうすればよいですか?
- 別のオーケストレーション サービスを回避するにはどうすればよいですか?
- データベースを効果的に監視し、転送されていない要求を転送する別の単一インスタンス サービスを回避する方法。
- 外部の依存関係を最小限に抑える方法 - たとえば、ここにあるある種のキューがこの問題に役立つ可能性があることは認識していますが、それを回避できるかどうかを確認しようとしています。