1. ホーム
  2. rabbitmq

AMQP/ZeroMQ/RabbitMQを使用する理由

2023-10-16 19:11:47

疑問点

は、自分でライブラリを書くのとは対照的です。

1 つのセクションが重くなりすぎた場合、管理者はそれを分割し、別のマシン上に別のプロセスとして配置します。また、接続されているすべてのクライアントに、新しいサーバーに接続するよう警告します。

私は、サーバー間およびプロセス間通信に ZeroMQ を使用することに興味があります。私のパートナーは、自分自身でロール オーバーすることを望んでいます。私は、この質問に答えるために、コミュニティに期待しています。

私自身はかなり初心者のプログラマーで、メッセージング キューについて学んだばかりです。ググって読んでみると、誰もがあらゆる種類のことにメッセージング キューを使用しているようですが、なぜでしょうか?自分でライブラリを書くよりも優れているのはなぜでしょうか?なぜそんなに一般的で、なぜそんなにたくさんあるのでしょうか?

どのように解決するのでしょうか?

<ブロッククオート

自分でライブラリを作成するよりも優れている点は何ですか?

あなたのアプリの最初のバージョンをロールアウトするとき、おそらく何もありません:あなたのニーズはよく定義されており、あなたはあなたのニーズに合うメッセージングシステムを開発します:小さな機能リスト、小さなソースコードなど。

それらのツールは 非常に 便利です の後、実際にアプリケーションを拡張し、より多くの機能を追加しなければならないときです。 いくつかの使用例を挙げてみましょう。

  • あなたのアプリケーションは、リトル エンディアン マシン (x86、intel/amd) からビッグ エンディアン マシン (sparc/powerpc) に話しかけなければならないでしょう。メッセージング システムにエンディアンの順序付けの前提がある場合、それを修正する必要があります。
  • バイナリ プロトコル/メッセージング システムではないようにアプリを設計し、解析にほとんどの時間を費やしたために非常に遅くなった (メッセージの数が増加し、解析がボトルネックになった): バイナリ/固定エンコードを伝送できるように適合させます。
  • クライアント/上司/小悪魔のような上司が現れ、自分が管理していない WAN にアプリをインストールするように言われ、接続の失敗や遅延などが発生し始めました。

  • 送信されたメッセージには返信が必要ですが、そのすべてではありません。いくつかのパラメータを送信し、送信と承認だけでなく、結果としてスプレッドシートを期待します。

  • いくつかのメッセージは重要であり、その受信/送信は適切なバックアップ/永続化/を必要とします。なぜ聞くのですか? 監査のためです。

その他多くのユースケースを忘れてしまいましたが...

自分で実装することもできますが、そのために多くの時間を費やさないでください。