先週、Akkaのドキュメントを深く掘り下げ、最終的にアクターシステムとは何か、そしてそれらが解決する問題を理解しました。
私の従来のJMS / AMQPメッセージブローカーの理解(および経験)は、以下を提供するために存在するということです。
- プロデューサーとコンシューマー間の非同期処理。そして
- 持続性、再試行、フォールバックを含むメッセージ配信の保証
しかし、Akkaはこれを提供し、必要なインフラストラクチャと運用オーバーヘッドをすべて排除しませんか?
- Akkaでは、すべてのアクター通信は非同期で非ブロッキングです。そして
- Akkaでは、
SupervisorStrategies
再試行、フォールバック、およびエスカレーションを達成するために存在します。これも要件である場合、実質的にあらゆるタイプのストアに持続するようにアクターを構成できます。
私のアプリがAkkaを使用している場合、JMS / AMQPブローカー(ActiveMQ、RabbitMQ、Kafkaなど)を写真に取り入れる必要がありますか?つまり、新しいAkkaベースのアプリが新しい JMS / AMQPブローカークラスターの導入を保証するユースケースはありますか?なぜですか?
唯一の議論は、おそらく私のAkkaアプリを別のシステムと統合する必要があるということです。ただし、その場合、Akka-Camelモジュールを使用すると、AkkaはCamelの統合機能の網羅的でほぼ無限のリスト(TCP、FTP、ZeroMQ、リストは延々と続く...)を活用できます。
考え?