SQL 2012 データベース サーバーを activemq にリンクするためのベスト プラクティスを教えてください。
私が達成したいのは、データベースで何かが変更されるたびに、データベースで発生した変更を含むメッセージでativemqが更新されることです。
1.データベースでどのようにコーディングすればよいですか(トリガーのように?)。2.activemq へのデータの送信方法を教えてください。Java アプリのようなインターフェイスは必要ですか?
データベースでそれをしないでください。アプリでそれを行います。
SQL Server は ActiveMQ サーバーに接続してメッセージを送信できる CLR プロシージャをホストできますが、そうするのはお勧めできません。
はるかに優れた解決策は、独自の DB にローカルでキューに入れることです。テーブルをキューとして使用するか、Service Broker キューを使用します (ちなみに、これはActivationをサポートしています)。次に、別のリスナー プロセスから、代わりにコミット後にこのローカル キューを処理します。可用性の向上、結合の減少、スループットの向上。ActiveMQ が本当に必要な場合は、少なくともローカルの中間キューが可用性を切り離します。各 DB 操作が外部の ActiveMQ XA 登録操作を待機すると、スループットが大幅に低下し (DTCが遅い)、可用性の問題に対処する必要があります (ActiveMQ と XA が利用できず、DB で更新が行われない)。