private IProducer <string, string> GetProducer(string broker)
 {
     return(Producers.GetOrAdd($"{broker}", key =>
     {
         var producerConfiguration = new ProducerConfig
         {
             BootstrapServers = broker,
             Acks = Acks.Leader,
             SocketNagleDisable = true
         };
         return new ProducerBuilder <string, string>(producerConfiguration).Build();
     }));
 }
 // Metoda za slanje poruke odredjenog sadrzaja na topic koji se prosledjuje kao parametar metode
 public override void Publish(string messageContent, string topic)
 {
     try
     {
         // U okviru konfiguracije Producer-a dodaje se samo Endpoint koji je neophodno gadjati kako bi se
         // poruka prosledila Kafki
         ProducerConfig = new CKafka.ProducerConfig {
             BootstrapServers = KafkaEndpoint
         };
         using (ProducerBuild = new CKafka.ProducerBuilder <string, string>(ProducerConfig).Build())
         {
             // pozivom Produce metode navodi se da Producer posalje poruku sadrzaja koji je prosledjen
             // kroz parametre metode na definisani topic
             ProducerBuild.Produce(topic, new CKafka.Message <string, string> {
                 Value = messageContent
             });
             ProducerBuild.Flush(TimeSpan.FromSeconds(10));
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Failed to produce message!", ex);
     }
 }