Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan RabbitMQ untuk melaksanakan baris gilir mesej dalam aplikasi Golang

Cara menggunakan RabbitMQ untuk melaksanakan baris gilir mesej dalam aplikasi Golang

WBOY
WBOYasal
2023-06-05 17:21:041449semak imbas

Dengan peningkatan aplikasi teragih dan seni bina perkhidmatan mikro, baris gilir mesej telah menjadi cara penting untuk menyelesaikan komunikasi dan pemprosesan data antara aplikasi. Dengan perkembangan pesat pengkomputeran awan, Internet, Internet mudah alih dan Internet of Things, permintaan untuk pertukaran data antara kluster pelayan dan komunikasi yang cekap antara aplikasi menjadi lebih kuat dan kukuh, sebagai sokongan berbilang protokol berprestasi tinggi , Sistem baris gilir mesej peringkat perusahaan dengan skalabiliti tinggi telah menjadi salah satu baris gilir mesej yang paling popular hari ini. Artikel ini akan memperkenalkan cara menggunakan RabbitMQ untuk melaksanakan baris gilir mesej dalam aplikasi Golang.

1. Apakah RabbitMQ

RabbitMQ ialah perisian baris gilir mesej sumber terbuka yang melaksanakan piawaian Protokol Giliran Mesej Lanjutan (AMQP). Ia ditulis dalam bahasa Erlang dan mempunyai skalabiliti, daya pemprosesan dan kebolehpercayaan yang tinggi. RabbitMQ menggunakan mesej untuk menghantar data, membenarkan aplikasi menyimpan mesej dalam baris gilir supaya aplikasi lain boleh membaca dan memprosesnya secara tidak segerak.

2. Pemasangan dan konfigurasi RabbitMQ

Pertama, anda perlu memuat turun pakej pemasangan platform yang sepadan dari laman web rasmi RabbitMQ. Selepas pemasangan, anda perlu mengubah suai fail konfigurasi RabbitMQ rabbitmq.config untuk menentukan nombor port lalai RabbitMQ dan pemalam yang didayakan.

Contoh kod fail konfigurasi rabbitmq.config:

[
{rabbit, [{tcp_listeners, [{"0.0.0.0", 5672}]}]},
{rabbitmq_management, [{pendengar, [{port, 15672}]}]}
].

3. Cara menggunakan RabbitMQ di Golang

  1. Pasang klien RabbitMQ

Untuk menggunakan RabbitMQ dalam aplikasi Golang, anda perlu memasang klien RabbitMQ terlebih dahulu Anda boleh menggunakan arahan berikut untuk memasangnya:

pergi dapatkan github.com/streadway/amqp<.>

    Menyambung ke RabbitMQ
Sebelum menggunakan RabbitMQ di Golang, anda perlu mewujudkan sambungan dengan pelayan RabbitMQ. Menyambung ke RabbitMQ memerlukan konfigurasi parameter seperti alamat hos, port, hos maya, pengguna dan kata laluan pelayan RabbitMQ.

Contoh kod untuk menyambung ke RabbitMQ:

conn, err := amqp. Dial("amqp://guest:guest@localhost:5672/")

    Buat Saluran
Dalam RabbitMQ, berbilang Saluran boleh dibuka dalam satu sambungan. Saluran ialah saluran komunikasi antara RabbitMQ dan aplikasi, digunakan untuk menghantar dan menerima mesej serta menyediakan baris gilir dan operasi lain.

Contoh kod untuk membuat Saluran:

ch, err := conn.Channel()

    Buat baris gilir
dalam RabbitMQ , gunakan baris gilir untuk menyimpan mesej. Baris gilir ialah penimbal mesej bernama yang menyimpan mesej yang dihantar oleh aplikasi.

Kod contoh untuk membuat baris gilir:

q, err := ch.QueueDeclare(

"hello",    //队列名称
false,      //是否持久化队列
false,      //是否自动删除
false,      //是否独占队列
false,      //队列阻塞等待
nil,        //额外的属性

)

    Hantar mesej
Dalam RabbitMQ, gunakan kaedah basic.publish untuk menghantar mesej ke baris gilir. Mesej mengandungi dua bahagian: atribut dan muatan. Sifat mengandungi beberapa metadata mesej, seperti sama ada mesej itu berterusan, keutamaan mesej, dsb. Muatan ialah kandungan mesej sebenar yang dihantar.

Kod contoh untuk menghantar mesej:

err = ch.Publish(

"",         //交换机名称
q.Name,     //队列名称
false,      //是否强制发送到队列
false,      //是否持久化消息
amqp.Publishing {
    ContentType: "text/plain",
    Body:        []byte("Hello World!"),
},

)

    Terima mesej
Dalam RabbitMQ, gunakan kaedah basic.consume untuk melanggan baris gilir mesej Apabila mesej tiba, fungsi panggil balik akan dipanggil untuk memproses mesej.

Kod contoh untuk menerima mesej:

msg, err := ch.Consume(

q.Name, //队列名称
"",     //用于区分多个消费者
true,   //是否自动确认消息
false,  //是否独占队列
false,  //队列阻塞等待
nil,    //额外的属性

)

go func() {

for d := range msgs {
    log.Printf("Received a message: %s", d.Body)
}

}()

4 Ringkasan

Menggunakan baris gilir mesej ialah kaedah yang berkesan untuk meningkatkan kecekapan komunikasi dan pemprosesan data antara aplikasi, dan RabbitMQ ialah , pemprosesan dan kebolehpercayaan yang sangat berskala. daripada sistem baris gilir mesej, telah menjadi salah satu baris gilir mesej yang paling popular hari ini. Untuk menggunakan RabbitMQ untuk melaksanakan baris gilir mesej dalam aplikasi Golang, anda perlu memasang klien RabbitMQ terlebih dahulu, mewujudkan sambungan dengan pelayan RabbitMQ, mencipta Saluran, beratur dan menghantar serta menerima mesej. Artikel ini memperkenalkan konsep asas RabbitMQ dan cara menggunakan RabbitMQ untuk melaksanakan baris gilir mesej dalam aplikasi Golang.

Atas ialah kandungan terperinci Cara menggunakan RabbitMQ untuk melaksanakan baris gilir mesej dalam aplikasi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn