2017-03-26 2 views

Répondre

2

Je suppose que vous savez déjà comment configurer Kafka pour SSL. Vous devez ajouter des paramètres de configuration pour le cryptage SSL et pour l'authentification SSL. Fondamentalement, il s'agit d'une structure de producteur de base pour cela.

Properties props = new Properties(); 
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); 

//configure the following three settings for SSL Encryption 
props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "SSL"); 
props.put(SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, "/var/private/ssl/kafka.client.truststore.jks"); 
props.put(SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, "test1234"); 

// configure the following three settings for SSL Authentication 
props.put(SslConfigs.SSL_KEYSTORE_LOCATION_CONFIG, "/var/private/ssl/kafka.client.keystore.jks"); 
props.put(SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, "test1234"); 
props.put(SslConfigs.SSL_KEY_PASSWORD_CONFIG, "test1234"); 

props.put(ProducerConfig.ACKS_CONFIG, "all"); 
props.put(ProducerConfig.RETRIES_CONFIG, 0); 
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer"); 
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, "org.apache.kafka.common.serialization.StringSerializer"); 

Producer<String, String> producer = new KafkaProducer<String, String>(props); 
TestCallback callback = new TestCallback(); 
Random rnd = new Random(); 
for (long i = 0; i < 100 ; i++) { 
    ProducerRecord<String, String> data = new ProducerRecord<String, String>(
      "test-topic", "key-" + i, "message-"+i); 
    producer.send(data, callback); 
} 

producer.close(); 
+0

Bonjour, Comment puis-je utiliser ces tous en C#? – mayk