JMSベースのブローカーは、システムのデカップリングに非常に便利なツールです。しかし、不変的に、建築と膨張との間の細い線が交差する。ブローカーを理論的に理解している人として、実践的な経験がない人は、「肥えない」ためにどのような助言をすることができますか?ブローカが間違って使用されないように、パフォーマンス要因、設計上の考慮事項、およびシステムの特性を理解しておく必要があります。例えばロギングサービスにイベントをプッシュするためにブローカーを使用することは過度のようです(私の友人の1人は実際にそれをほぼ提案しました)。もう1つの例 - 監査サービス(複数のバックエンドシステムの監査)を作成するときは、(非同期の)メッセージングが良い解決策です。賛否両論?メッセージング(JMSベースのブローカー/キュー)が過剰な場合はいつですか?
2
A
答えて
2
これはすべての規模の問題です。
すべてのサービスが同じボックスで実行されているか、複数のボックスで実行されていてもすべてがデータベースと通信している限り、メッセージングは実際の問題を解決せず、複雑さを増します。
複数のサーバー(場合によっては複数のデータセンター)上で稼動し、(データベースだけでなく)互いに通信する必要のあるサービスが多数ある場合、メッセージングが必要になります。
あなたのサービスのリリーススケジュールが異なる場合もあります。特に、多数のチームが異なるチームによって開発されている場合は特にそうです。互換性を確保し、ダウンタイムを最小限に抑えることが大きな負担となります。非同期メッセージングは、そこにあるソリューションの一部です。
最後に、非同期イベントをロギングサービスにプッシュすることは、上記の条件を前提として意味があります。全社規模のロギングサービスを使用して複数のサーバー上で複数のサービスを実行している場合は、ログキューが理にかなっています。
関連する問題
- 1. マルチスレッドの代わりにメッセージング(JMSなど)はいつですか?
- 2. プリフェッチの使用が過剰ですか?
- 3. Java JMSの混合メッセージングの実装
- 4. FreeRTOS過剰なスタックオーバーフロー
- 5. JCAインバウンド・メッセージングのJMS?
- 6. 春バッチが過剰ですか
- 7. Androidで過剰なスレッディングが悪い考えですか?
- 8. この過剰なローダーオブジェクトは、プロキシパターン実装の例ですか?
- 9. "clock()"でCPU使用量が過剰になるのはなぜですか?
- 10. 生成されたSQLのLinqへの過剰な結合
- 11. アルゴリズムで過剰適合引き起こすもの
- 12. Rails - イベントが過剰登録されないようにする
- 13. フッタが過剰になっています
- 14. Handsontable - 過剰なセルレンダリングでアプリケーションが遅くなる
- 15. WebSphere MQ低遅延メッセージング - JMS(またはJMSのような)APIを備えていますか?
- 16. 競合ネットを使用して過剰適合を防ぐ
- 17. 中括弧で定義されている場合にのみ、オブジェクトで過剰なプロパティを許可するのはなぜですか?
- 18. 可能性JMS/MQメッセージングのスタンドアロンアプリケーションですか?
- 19. WPF:小規模なアプリケーションではプリズムの過剰使用ですか?
- 20. pdoラッパーは本当に過剰ですか?
- 21. Rustで過剰なクローニングを避けるには?
- 22. 「過剰なトリック」とは何ですか?ダグラス・クロックフォードの読んだ後
- 23. 無限のwhileループは過剰なリソースを消費するでしょうか
- 24. Q-Learningアルゴリズムが過剰になることはありますか?
- 25. インスタンスレベルカウンタのNSNumberの過剰使用ですか?
- 26. Webdriver firefox-binは過剰なCPUを使用します
- 27. エイリアスを過剰置換するZsh
- 28. Spring JMS統合で区間ベースのcronを設定する
- 29. より単純なウェブサイトでは、フレームワーク(レールなど)が過剰使用されていますか?
- 30. ZeroMQ Poll関数は.NETで過剰なCPUを使用しますか?
Splunkソリューションは、この(ロギング)問題のまわりに構築されます – jasonk