SOA に関する私の唯一の経験は、NServiceBus での作業から得られたものです。それは本当にうまく設計されており、私が本当に気に入っている気の利いた機能がいくつかあります。
- メッセージの処理はトランザクショナルであり、ユーザーに代わって処理されるため、「少なくとも 1 回」ではなく「1 回だけ」です。
- ビルトイン サガ サポート
- 自動再試行のサポート
- Pub/Sub のサポート (ただし、すべてのサービス/メッセージ バスがこれをサポートしていると想定しています)
そのため、私はアプリのロジックだけに専念する必要がありますが、私は .NET でしか使用したことがなく、Windows は私が取り組んでいるプロジェクトのスターターではないことはほぼ確実です。だから私の質問は...
*nix エコシステムにはどのようなサービス バス テクノロジが存在し (Mono で NSB を実行した経験を含む)、Windows で実行されている NServiceBus にどのように対応しますか?
おまけ:上記の機能に加えて、バスからメッセージを送信/受信/処理できる言語は? 1 つのサービスを言語 A で記述し、別のサービスを言語 B で記述できるという柔軟性を持つことは、このプロジェクトにとって非常に有利です。