私はいくつかのマイクロサービス(残りのテンプレートを持つspring mvc)を持っていて、REST(主に非同期)を介して互いに通信しています。マイクロサービス/ RESTフォールトトレラントコミュニケーション
問題は、私はいくつかのフォールトトレランス機能をシステムに追加したいと思います。例えば他のシステムが要求している間にマイクロサービスの1つがダウンしている場合、この要求は自動的に後で再試行されます。だから、
、基本的に私はRESTプロキシのいくつかの種類、探しています:
- は、配信が失敗した場合、その受信者
- にメッセージを配信するためのREST要求
- 試行を消費しようとします再び後で
これにはプロジェクト/ライブラリはありますか?
おかげで、 krisy
メッセージングサービスのように聞こえるか、キューを使用してコードを記述する必要があります。非常に大容量で大容量のデータであることが予想される場合は、データベースへのすべてのコールを書き留め、データベーステーブルを読み込んでフラグを更新するデーモンスレッドを作成し、一度読んで休憩サービスを呼び出します。 (スレッドの実装は、ソース送り先、要求データ、および応答データを読み取ることができます)。もちろん、定期的にテーブルを清掃してください。 – surya
[Netflixリボン](https://github.com/Netflix/リボン)、[RxNetty](https://github.com/ReactiveX/RxNetty)をご覧ください。リトライ機能を提供しています。 @suryaで述べられているように、メッセージブローカーがより適しています。 –
クライアント側の解決策は、私がプロキシについて考えている主な理由です。マイクロサービスの一部があまり信頼性がないので、クラッシュする可能性があります(サードパーティのプロキシもクラッシュする可能性がありますが、それはそうではありません)。何らかの永続ストレージ戦略があれば、リボンはいいかもしれません。 – krisy