Sobes.tech
Junior — Middle

რომელი შეტყობინების ბროკერი გირჩევნიათ — Kafka თუ RabbitMQ?

sobes.tech AI

პასუხი AI-სგან

پروجیکٹ کی مخصوص ضروریات پر منحصر ہے کہ Kafka اور RabbitMQ کے درمیان انتخاب کیا جائے۔

Kafka بڑے ڈیٹا بہاؤ کو اعلیٰ کارکردگی اور پیغامات کے ذخیرہ کے ساتھ پروسیس کرنے کے لیے زیادہ مناسب ہے (واقعہ لاگ)۔ یہ پیمائش اور استحکام پر مرکوز ہے، اور تجزیاتی نظام، سلسلہ وار پروسیسنگ اور واقعہ پر مبنی نظام کے لیے اچھا ہے۔

RabbitMQ ایک کلاسیکی پیغام بروکر ہے جو مختلف تبادلے کے ماڈلز (قطاریں، موضوعات) کی حمایت کرتا ہے، اور گارنٹیڈ ڈیلیوری، پیچیدہ روٹنگ اور خدمات کے درمیان انضمام کے لیے موزوں ہے۔

اگر آپ کو اعلیٰ کارکردگی اور بڑے حجم کے ڈیٹا کی پروسیسنگ کی ضرورت ہے — Kafka استعمال کریں۔ اگر لچکدار روٹنگ اور قابل اعتماد ترسیل اہم ہے — RabbitMQ استعمال کریں۔

Go زبان میں Kafka کے استعمال کی مثال (sarama لائبریری کے ساتھ):

package main

import (
    "github.com/Shopify/sarama"
    "log"
)

func main() {
    producer, err := sarama.NewSyncProducer([]string{"localhost:9092"}, nil)
    if err != nil {
        log.Fatal(err)
    }
    defer producer.Close()

    msg := &sarama.ProducerMessage{
        Topic: "test_topic",
        Value: sarama.StringEncoder("ہیلو Kafka"),
    }

    partition, offset, err := producer.SendMessage(msg)
    if err != nil {
        log.Fatal(err)
    }
    log.Printf("پیغام کو محفوظ کیا گیا ہے، پارٹیشن %d، آفسیٹ %d\n", partition, offset)
}