Sobes.tech
Junior — Middle

Məlumatların saxlama sistemində müəyyən bir bölməyə məcburi göndərilməsini necə həyata keçirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Məlumatların saxlanma sistemlərində, bölümləndirmə istifadə edən (məsələn, Kafka, Cassandra) sistemlərdə, məlumatları məcburən müəyyən bir bölməyə göndərmək üçün yazarkən bölmə açarını və ya bölmə nömrəsini açıq şəkildə göstərmək lazımdır.

Go-da bu adətən müştəri API-si vasitəsilə edilir, burada mesajı yayımlayarkən və ya məlumatları yazarkən açar və ya bölmə təyin etmək mümkündür:

// Sarama ilə Kafka üçün nümunə
producer.Input() <- &sarama.ProducerMessage{
    Topic: "mövzu_mənim",
    Partition: 2, // açıq şəkildə bölməni göstəririk
    Key:   sarama.StringEncoder("bölmə_açarı"),
    Value: sarama.StringEncoder("məlumatlar"),
}

Əgər API birbaşa bölmə nömrəsini göstərməyə imkan vermirsə, hash-lənmiş və bölməni müəyyən edən bölmə açarı təyin oluna bilər.

Beləliklə, məlumatları məcburən istənilən bölməyə göndərmək üçün, yazarkən müştəri API-sinin imkanlarından istifadə etmək lazımdır, yəni açar və ya bölmə nömrəsini göstərmək.