Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 8397|Jawab: 0

Pengantar tiga mode pertukaran (fanout, langsung, dan topik) RabbitMQ

[Salin tautan]
Diposting pada 29/03/2018 14.30.45 | | | |
Perkenalan:
Di RabbitMQ, semua pesan yang dikirimkan oleh produsen diterima oleh Exchange, yang kemudian meneruskannya ke Antrean untuk penyimpanan sesuai dengan kebijakan tertentu
RabbitMQ menyediakan empat jenis pertukaran: fanout, langsung, topik, dan header
Mode header kurang digunakan dalam praktik, dan artikel ini hanya membandingkan tiga mode pertama.

1. Pertukaran Langsung


Setiap pesan yang dikirim ke Direct Exchange diteruskan ke Antrean yang ditentukan dalam RouteKey.

1. Secara umum, Anda dapat menggunakan Exchange yang disertakan dengan rabbitMQ:" (nama Exchange adalah string kosong, selanjutnya disebut sebagai Exchange default).

2. Dalam mode ini, tidak perlu melakukan operasi pengikatan apa pun di Exchange

3. "RouteKey" diperlukan untuk pesan, yang dapat dipahami secara sederhana sebagai nama antrian yang akan dikirim.

4. Jika nama antrean yang ditentukan dalam RouteKey tidak ada di vhost, pesan akan dijatuhkan.

2. Pertukaran Fanout


Setiap pesan yang dikirim ke Fanout Exchange diteruskan ke semua Antrean yang terikat ke Bursa tersebut.

1. Ini dapat dipahami sebagai pola tabel perutean

2. Mode ini tidak memerlukan RouteKey

3. Mode ini mengharuskan pengikatan Exchange ke Antrean terlebih dahulu, satu Bursa dapat mengikat beberapa Antrean, dan satu Antrean dapat terikat ke beberapa Bursa.

4. Jika Bursa yang menerima pesan tidak terikat ke Antrean apa pun, pesan akan dijatuhkan.

3. Pertukaran Topik


Setiap pesan yang dikirim ke Topic Exchange diteruskan ke semua Antrean yang peduli dengan topik yang ditentukan dalam RouteKey

1. Pola ini lebih kompleks, sederhananya, setiap antrean memiliki topik yang menjadi perhatiannya sendiri, semua pesan memiliki "judul" (RouteKey), dan Exchange akan meneruskan pesan ke semua antrean yang dapat secara fuguely cocok dengan RouteKey dari topik yang menjadi perhatian.

2. Mode ini memerlukan RouteKey, mungkin mengikat Exchange dan Queue terlebih dahulu.

3. Saat mengikat, berikan topik yang dipedulikan antrean, seperti "#.log.#" untuk menunjukkan bahwa antrean peduli dengan semua pesan yang terkait dengan log (pesan dengan RouteKey "MQ.log.error" akan diteruskan ke antrean).

4. "#" berarti 0 atau beberapa kata kunci, dan "" berarti satu kata kunci. Misalnya, "log". Ini dapat cocok dengan "log.warn", tetapi tidak dapat cocok dengan "log.warn.timeout"; Tetapi "log.#" cocok dengan di atas.

5. Demikian pula, jika Exchange tidak menemukan Antrean yang cocok dengan RouteKey, Exchange akan menjatuhkan pesan ini.




Mantan:Gunakan XPosed untuk melewati validasi yang kuat dari sertifikat SSL Android
Depan:.net/c# Pemutusan koneksi RabbitMQ - pemutusan dan koneksi ulang
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com