اتصال به RabbitMQ در برنامه‌های go


برای اتصال به RabbitMQ در برنامه‌های go، در ابتدا باید ماژول‌های مربوط به آن‌را با اجرای دستورات زیر، نصب کنید:

کپی
go get github.com/streadway/amqp
go get github.com/joho/godotenv

پس از آن، کافیست تا اطلاعات مربوط به RabbitMQ خود را به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال:

کپی
RABBITMQ_HOST=fitz-roy.liara.cloud
RABBITMQ_PORT=32923
RABBITMQ_USER=root
RABBITMQ_PASS=63LVuatIrWWajE7gxSj20gHL

در نهایت، می‌توانید با استفاده از قطعه کد زیر، به RabbitMQ خود، متصل شوید:

کپی
package main

import (
"fmt"
"log"
"os"
"github.com/streadway/amqp"
"github.com/joho/godotenv"
)

func checkRabbitMQConnection() bool {
err := godotenv.Load()
if err != nil {
	log.Fatalf("error in loading .env: %v", err)
}

rabbitHost := os.Getenv("RABBITMQ_HOST")
rabbitPort := os.Getenv("RABBITMQ_PORT")
rabbitUser := os.Getenv("RABBITMQ_USER")
rabbitPass := os.Getenv("RABBITMQ_PASS")

rabbitURL := fmt.Sprintf("amqp://%s:%s@%s:%s/", rabbitUser, rabbitPass, rabbitHost, rabbitPort)

conn, err := amqp.Dial(rabbitURL)
if err != nil {
	fmt.Println("connection failed, error:", err)
	return false
}
defer conn.Close()

fmt.Println("connection successful")
return true
}

func main() {
if checkRabbitMQConnection() {
	fmt.Println("connection successful.")
} else {
	fmt.Println("connection failed.")
}
}