Pemesejan RabbitMQ & Sistem Tak Segerak · Pelajaran

Menyediakan Persekitaran Berkelompok

Ikuti langkah-langkah untuk menyediakan kelompok RabbitMQ berbilang nod. Konfigurasikan nod supaya berfungsi bersama dan berkongsi keadaan bagi meningkatkan ketersediaan.

Pelajaran 2 daripada 411 langkah

Menyediakan Persekitaran Berkelompok ialah pelajaran Pemesejan RabbitMQ & Sistem Tak Segerak percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pemesejan RabbitMQ & Sistem Tak Segerak, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pemesejan RabbitMQ & Sistem Tak Segerak merangkumi sejumlah 4 pelajaran.

Bersedia untuk Mengklusterkan RabbitMQ?

Dalam pelajaran sebelumnya, kita mempelajari konsep pengklusteran RabbitMQ. Kini, mari kita praktikkan! Kita akan membimbing anda melalui langkah penting untuk menyediakan kluster RabbitMQ berbilang nod.

Membina kluster membantu menjadikan sistem pemesejan anda lebih kukuh dan mempunyai ketersediaan tinggi. Ini bermakna masa henti yang lebih singkat dan penghantaran mesej yang lebih boleh dipercayai.

Jabat Tangan Rahsia Erlang

Nod RabbitMQ dibina berasaskan Erlang dan berkomunikasi menggunakan rahsia bersama yang dipanggil kuki Erlang. Anggaplah ia sebagai kata laluan yang membolehkan nod saling mempercayai.

  • Setiap nod RabbitMQ mempunyai fail kukinya sendiri (~/.erlang.cookie atau /var/lib/rabbitmq/.erlang.cookie).
  • Untuk membentuk kluster, nod tersebut MUST mempunyai kuki Erlang yang sama.
  • Jika kuki tidak sepadan, nod tidak dapat berkomunikasi atau membentuk kluster.

Menyegerakkan Kuki Anda

Untuk memastikan nod boleh membentuk kluster, anda perlu menyalin kuki Erlang daripada satu nod kepada semua nod lain dalam kluster. Pilih satu nod sebagai 'sumber' kuki.

Begini cara anda biasanya melakukannya (gantikan node2 dengan nama/alamat IP nod sebenar anda):

# On Node 1 (source)
sudo cp /var/lib/rabbitmq/.erlang.cookie /tmp/erlang.cookie.bak
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
sudo scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/.erlang.cookie

# On Node 2 (destination)
# Ensure permissions are correct
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

Hentikan Sebelum Membentuk Kluster

Sebelum nod boleh menyertai kluster sedia ada atau membentuk kluster baharu, aplikasi RabbitMQ pada nod tersebut mesti dihentikan. Ini memastikan keadaan yang bersih untuk operasi pengklusteran.

Anda akan menggunakan perintah rabbitmqctl stop_app. Perintah ini menghentikan aplikasi RabbitMQ tetapi membiarkan VM Erlang terus berjalan.

# On Node 2 (the node joining the cluster)
sudo rabbitmqctl stop_app

Menyatukan Nod

Dengan kuki yang telah disegerakkan dan aplikasi dihentikan, nod kini boleh menyertai kluster. Anda akan menentukan nama nod sedia ada dalam kluster yang ingin disertai.

Gunakan perintah rabbitmqctl join_cluster <cluster_node_name>. cluster_node_name biasanya menggunakan format rabbit@hostname.

# On Node 2 (the node joining)
# Assuming Node 1 is 'rabbit@node1'
sudo rabbitmqctl join_cluster rabbit@node1

Memulakan Semula Enjin

Selepas nod berjaya menyertai kluster, anda perlu memulakan semula aplikasi RabbitMQ pada nod tersebut. Kini nod itu akan beroperasi sebagai sebahagian daripada kluster.

Gunakan perintah rabbitmqctl start_app untuk menghidupkan semula aplikasi RabbitMQ.

# On Node 2 (the node that joined)
sudo rabbitmqctl start_app

Semak Kesihatan Kluster Anda

Amat penting untuk mengesahkan bahawa semua nod telah berjaya menyertai kluster. Perintah rabbitmqctl cluster_status menunjukkan keadaan semasa kluster anda.

Perintah ini menyenaraikan semua nod aktif, jenisnya (cakera atau RAM) dan maklumat penting kluster yang lain.

# On any node in the cluster
sudo rabbitmqctl cluster_status

Nod Cakera berbanding Nod RAM

Semasa menyediakan kluster, anda mungkin menemui nod cakera dan nod RAM. Istilah ini merujuk kepada cara nod menyimpan metadata (seperti takrif baris gilir, pengikatan pertukaran dan data pengguna).

  • Nod cakera: Menyimpan metadata secara kekal pada cakera. Sekurang-kurangnya satu nod cakera diperlukan dalam kluster.
  • Nod RAM: Menyimpan metadata hanya dalam memori. Nod ini lebih pantas tetapi kehilangan metadata apabila dimulakan semula jika tidak disambungkan kepada nod cakera.
  • Kebanyakan kluster produksi menggunakan nod cakera sepenuhnya demi kesederhanaan dan daya tahan.

Bermula Semula dengan Tetapan Semula

Kadangkala, nod mungkin gagal menyertai kelompok, atau anda mungkin mahu mengalih keluar nod itu dan menambahkannya ke kelompok lain. Dalam keadaan sedemikian, anda boleh menetapkan semula nod tersebut.

Perintah rabbitmqctl reset menghapuskan semua data dan keadaan daripada nod, lalu menyediakannya untuk menyertai kelompok baharu atau kelompok sedia ada.

# On the node to be reset
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app

Semakan Persediaan Kelompok

Anda sedang menyediakan kelompok RabbitMQ. Anda telah memasang RabbitMQ pada dua pelayan, Nod A dan Nod B. Anda telah menyalin kuki Erlang daripada Nod A ke Nod B.

Apakah langkah penting seterusnya pada Nod B sebelum nod itu boleh berjaya menyertai kelompok Nod A?

Ringkasan Persediaan Kelompok

Syabas! Anda telah mempelajari langkah praktikal untuk menyediakan kelompok RabbitMQ. Kita telah membincangkan:

  • Kepentingan kuki Erlang untuk pengesahan nod.
  • Cara menghentikan, menyertai dan memulakan aplikasi RabbitMQ.
  • Menggunakan rabbitmqctl cluster_status untuk mengesahkan kelompok anda.
  • Pemahaman ringkas tentang nod cakera dan RAM.
  • Cara menetapkan semula nod untuk memulakannya semula dari awal.

Seterusnya, kita akan meneroka cara menjadikan baris gilir anda tersedia tinggi menggunakan baris gilir bercermin!

Percuma untuk bermula

Pelajari Pemesejan RabbitMQ & Sistem Tak Segerak dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
11
Pelajaran
44

Soalan Lazim

Adakah pelajaran “Menyediakan Persekitaran Berkelompok” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pemesejan RabbitMQ & Sistem Tak Segerak, termasuk “Menyediakan Persekitaran Berkelompok”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pemesejan RabbitMQ & Sistem Tak Segerak merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menyediakan Persekitaran Berkelompok”?

Ikuti langkah-langkah untuk menyediakan kelompok RabbitMQ berbilang nod. Konfigurasikan nod supaya berfungsi bersama dan berkongsi keadaan bagi meningkatkan ketersediaan. Anda berlatih Pemesejan RabbitMQ & Sistem Tak Segerak menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Pemesejan RabbitMQ & Sistem Tak Segerak?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pemesejan RabbitMQ & Sistem Tak Segerak di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Menyediakan Persekitaran Berkelompok” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pemesejan RabbitMQ & Sistem Tak Segerak ini?

Ya. Setiap pelajaran Pemesejan RabbitMQ & Sistem Tak Segerak menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Konsep Pengelompokan RabbitMQ
  2. Menyediakan Persekitaran Berkelompok
  3. Baris Gilir Dicerminkan untuk HA
  4. Baris Gilir Kuorum untuk HA Moden
← Kembali ke Pemesejan RabbitMQ & Sistem Tak Segerak