Sobes.tech
Junior — Middle

Kafka bilan muloqot qilish uchun qaysi kutubxonadan foydalaningiz?

sobes.tech AI

AIdan javob

Go tilida Kafka bilan o'zaro aloqada bo'lish uchun ko'pincha Shopify/sarama kutubxonasi ishlatiladi. Bu Go uchun mashhur va yaxshi qo'llab-quvvatlanadigan Kafka mijozidir, u ishlab chiqaruvchilar va iste'molchilar uchun to'liq funktsiyalar to'plamini taqdim etadi.

Sarama yordamida oddiy ishlab chiqaruvchining misoli:

package main

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

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

    msg := &sarama.ProducerMessage{
        Topic: "test_topic",
        Value: sarama.StringEncoder("Salom Kafka"),
    }

    partition, offset, err := producer.SendMessage(msg)
    if err != nil {
        log.Fatal("Xabarni yuborishda xato", err)
    }

    log.Printf("Xabar %d partitionga, %d offsetga yuborildi", partition, offset)
}

Sarama’dan tashqari, segmentio/kafka-go kabi boshqa kutubxonalar ham mavjud, ammo sarama eng keng tarqalganlardan biridir.