Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
How to Build Golang TCP Server Application with Kafka Stream
Rating: 2.7 out of 5(2 ratings)
42 students

How to Build Golang TCP Server Application with Kafka Stream

Go: the Great Stack for TCP server and Kafka
Last updated 12/2020
English

What you'll learn

  • In the end of my course you will learn how to build a TCP server and KAFKA.
  • You will know what is TCP Server
  • You will know what is KAFKA
  • You will know how to build applications

Course content

1 section9 lectures41m total length
  • Introduction13:04

    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.

  • How build docker3:13

    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.

  • How build run server3:36

    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.

  • How build run client3:15

    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.

  • How build working example3:53

    Build a working golang tcp server with Kafka stream by running the server, accepting client connections, and sending and receiving topic messages between clients.

  • How build tcp server3:43

    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.

  • How build kafka producer3:32

    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.

  • How build kafka consumer3:15

    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.

  • How build a client3:52

    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.

Requirements

  • You should have basic level of knowledge in kafka, tcp and go language

Description

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.

Who this course is for:

  • It can be helpful from high school level