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("Hello Kafka"),
}
partition, offset, err := producer.SendMessage(msg)
if err != nil {
log.Fatal(err)
}
log.Printf("Message is stored in partition %d, offset %d\n", partition, offset)
}