Connecting Clients to Confluent Cloud

The confluentinc/examples GitHub repo provides hello world examples of Apache Kafka® clients connecting to Confluent Cloud in many different programming languages, including Java, Java Spring Boot, Python, Go, Scala, Confluent CLI, Ruby, Groovy, Kotlin, Node, kafkacat, .NET, C, Clojure, and others. All examples include a producer and consumer, and where relevant, Avro data with Confluent Cloud Schema Registry.

../_images/clients-all1.png
Prerequisites:
  • Before connecting a client application to Confluent Cloud, increase the timeout for API version requests from the default value of 10 seconds. You can change this with librdkafka api.version.request.timeout.ms parameter. For more information, see the librdkafka configuration documentation.
  • Depending on your operating system and configuration, you might have to specify the location of your client config for SSL (ssl.ca.location). For example, if your OS does not provide root CA certificates, or if the certificates are stored in a non-standard location.

To connect librdkafka-based clients, specifically C/C++, .Net, Python, and Go clients, to Confluent Cloud over SSL/TLS, you need Let’s Encrypt CA certificates locally. By default, certificates do not come with RHEL or CENTOS. You must download the certificates if your librdkafka-based client runs on RHEL or CENTOS.

See also

To learn how to architect, monitor, and optimize your Kafka applications on Confluent Cloud, refer to Developing Client Applications on Confluent Cloud.

Considerations

If you are using Confluent Cloud on Azure, you must change the default Kafka timeout from metadata.max.age.ms=300000 to metadata.max.age.ms=210000. This is because the Azure LoadBalancer timeouts are set to 240000 milliseconds.

Connecting to Confluent Cloud from a .NET Application

You can configure the Confluent .NET Client for Kafka to connect to a Kafka cluster in Confluent Cloud.

  1. Install the Confluent .NET Client for Apache Kafka.
  2. Customize the .NET Confluent Cloud example for your Confluent Cloud cluster, specifically bootstrap.servers, sasl.username, and sasl.password.
  3. Integrate with your environment.

Connecting to Confluent Cloud from a Go Application

You can configure the Confluent Golang Client for Kafka to connect to a Kafka cluster in Confluent Cloud.

  1. Install the Confluent Golang Client for Apache Kafka.

    Important

    The Confluent Golang Client for Kafka depends on librdkafka, which must be installed separately.

  2. Customize the Golang Confluent Cloud example for your Confluent Cloud cluster, specifically bootstrap.servers, sasl.username, and sasl.password.

  3. Integrate with your environment.

Connecting to Confluent Cloud from a Python Application

You can configure the Confluent Python Client for Kafka to connect to a Kafka cluster in Confluent Cloud.

  1. Install the Confluent Python Client for Apache Kafka.
  2. Customize the Python Confluent Cloud example for your Confluent Cloud cluster, specifically bootstrap.servers, sasl.username, and sasl.password.
  3. Integrate with your environment.

Examples and Demo