- https://kafka.apache.org/documentation/
- [https://kafka.apache.org/documentation/#producerconfigs]
- [https://kafka.apache.org/documentation/#security]
- Connects to external Apache Kafka brokers over TCP, SSL, or SASL_SSL.
- Serializes records from a Condense topic and publishes them to a Kafka topic.
- Supports secure protocols (SSL and SASL_SSL).
- Maintains high throughput using Kafka producer batching and partitioning.
- Enables full pipeline closure from ingestion to output in real-time systems.
- The connector reads messages from a specified Condense Kafka topic.
- Each message is serialized (typically JSON or Avro).
- A Kafka producer is instantiated using the provided credentials and security configuration.
- Messages are published to the external Kafka topic with delivery guarantees (acks).
Field-by-Field Explanation
1. Title
This is the internal name for the connector inside the Condense UI.
Helps identify output endpoints and trace delivery issues in logs.
2. Bootstrap Servers
Format:
broker1:9092,broker2:9092
Used to connect to the external Kafka cluster.
Should include reachable hostnames or IP addresses with open ports.
3. Topic Name
The destination topic in the external Kafka cluster.
Ensure this topic exists with appropriate partitions and ACLs.
Data will be continuously pushed to this topic as it is published in Condense.
4. Security Protocol
Specifies how the connection to Kafka is secured.
- PLAINTEXT – No encryption or authentication.
- SSL – TLS-encrypted connection.
- SASL_SSL – Encrypted connection with SASL authentication.
UnknownHostException.
Fix: Validate network routing, firewall rules, and DNS settings. Try using IP addresses to rule out DNS issues.
3. Topic Not Found
Symptoms: UnknownTopicOrPartitionException.
Fix: Ensure the Kafka topic exists. If using Amazon MSK or Confluent Cloud, verify the correct cluster and region.
4. Throttled Delivery or Latency
Cause: Large batch sizes or insufficient acknowledgements.
Fix: Optimize the batch size and enable retries with backoff in the Kafka producer configuration.
Advanced Topics
1. Kafka Producer Internals
- Uses asynchronous batching to improve throughput.
- Uses
acks=allby default for stronger delivery guarantees. - Future enhancement: partition key assignment for ordered delivery.
- Consider network latency and encryption overhead when publishing across regions.
- Compression such as Snappy or LZ4 can reduce outbound traffic.
- Data is serialized using the configured Condense format (JSON or Avro).
- Integration with Schema Registry (for example, Confluent Schema Registry) can be implemented through custom transforms.
- Always use SASL_SSL for production deployments.
- Use service accounts with scoped Kafka permissions.
- Monitor connector logs for delivery failures and retries.
- Use separate input and output topics for different business workflows.
- Validate Kafka ACLs and quotas before deploying high-throughput connectors.