
Learn how to build a golang tcp server that uses kafka as a message broker, with producers and consumers handling messages across topics in a dockerized setup with zookeeper.
Set up a docker-based Golang tcp server with a kafka stream using docker compose, run kafka and zookeeper, configure topics and local ip addresses, and monitor messages from localhost.
Build and run a Golang TCP server that uses a Kafka stream with a producer and consumer, marshaling and delivering messages to clients via callbacks.
Establish a tcp client-server connection, send and read messages, and manage the connection lifecycle. Explore kafka stream basics with sync producer and consumer configuration in the Golang server workflow.
Build a working golang tcp server with Kafka stream by running the server, accepting client connections, and sending and receiving topic messages between clients.
Develop a Golang TCP server that accepts new client connections, processes and closes them, maintains a connection map, and writes messages received from Kafka to connected clients.
Learn how to build a kafka producer in a golang tcp server, configure the producer, create new messages, send messages with callbacks, handle client connections, and manage producer lifecycle.
Build a golang kafka consumer that reads messages from kafka, handles errors, and uses callbacks for message received and message consumed in a tcp server.
Explore how a Go TCP server manages client connections, handles messages via callbacks, and coordinates with a Kafka stream using a producer and consumer to relay messages to clients.
Apache Kafka is a distributed streaming platform. What exactly does that mean?
A streaming platform has three key capabilities:
Publish and subscribe to streams of records, similar to a message queue or enterprise messaging system.
Store streams of records in a fault-tolerant durable way.
Process streams of records as they occur.
Kafka is generally used for two broad classes of applications:
Building real-time streaming data pipelines that reliably get data between systems or applications
Building real-time streaming applications that transform or react to the streams of data
To understand how Kafka does these things, let's dive in and explore Kafka's capabilities from the bottom up.
First a few concepts:
Kafka is run as a cluster on one or more servers that can span multiple datacenters.
The Kafka cluster stores streams of records in categories called topics.
Each record consists of a key, a value, and a timestamp.Apache Kafka is a distributed event store and stream-processing platform. It is an open-source system developed by the Apache Software Foundation written in Java and Scala. The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds.Confluent develops and maintains a Go client for Apache Kafka that offers a producer and a consumer. This library provides capabilities to produce to and consume from Kafka topics using Go.