Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Kafka with go
Rating: 2.4 out of 5(5 ratings)
33 students

Kafka with go

Build asynchronous app using kafka
Last updated 12/2024
English

What you'll learn

  • You will learn kafka in depth
  • You will learn implementation of kafka with golang
  • You will be able to create kafka container in Docker
  • You will be able to create scalable application using kafka and golang

Course content

3 sections9 lectures4h 32m total length
  • Introduction20:21

    Apache Kafka enables real-time data streaming by coordinating producers, topics with partitions and offsets, brokers, and consumers, with raft-based metadata and source and sink connectors.

Requirements

  • Basics of Golang, and Docker

Description

Course Description

Welcome to "Mastering Kafka with Golang: Building a Robust Order Service Application." This comprehensive course is designed for software engineers, developers, and architects who want to dive deep into Kafka’s distributed messaging platform and leverage its power using the Go programming language. Through practical and hands-on projects, you will gain a strong foundation in Kafka’s architecture, features, and real-world applications.

By the end of this course, you will have built a production-ready Order Service application, showcasing how to integrate Kafka for seamless communication, fault tolerance, and scalability.

What You'll Learn

  • Fundamentals of Apache Kafka: Topics, partitions, producers, consumers, and brokers.

  • Setting up a Kafka cluster locally and in the cloud.

  • Writing Kafka producers and consumers using Golang.

  • Managing Kafka topics, partitions, and replication for high availability.

  • Implementing message serialization and deserialization with JSON.

  • Handling message delivery guarantees: at-most-once, at-least-once, and exactly-once.

  • Building a microservice architecture for the Order Service.

  • Processing real-time orders and events using Kafka streams.

  • Integrating Kafka with databases for storing order data.

  • Debugging and monitoring Kafka applications.

Course Structure

Section 1: Introduction to Kafka and Golang

  • What is Kafka? Overview of distributed messaging systems.

  • Why use Golang with Kafka? Benefits and use cases.

  • Course overview and application walkthrough.

Section 2: Setting Up Your Environment

  • Installing Kafka and Zookeeper locally.

  • Setting up Go development environment.

  • Installing Kafka libraries for Golang.

Section 3: Kafka Fundamentals

  • Understanding Kafka topics, partitions, and offsets.

  • Configuring Kafka producers and consumers.

  • Writing your first producer and consumer in Golang.

Section 4: Advanced Kafka Concepts

  • Handling message serialization with JSON and Avro.

  • Message delivery semantics: at-most-once, at-least-once, and exactly-once.

  • Managing Kafka topics and partitions.

Section 5: Building the Order Service Application

  • Designing the Order Service architecture.

  • Implementing the Order API with Golang.

  • Integrating Kafka for publishing and consuming order events.

  • Implementing error handling and retries.

Section 6: Scaling the Order Service

  • Adding partitions for scaling Kafka consumers.

  • Using Kafka Streams for real-time order processing.

  • Storing order data in a database (PostgreSQL or MongoDB).

Section 7: Monitoring and Debugging

  • Setting up Prometheus and Grafana for Kafka monitoring.

  • Debugging common issues in Kafka applications.

  • Best practices for optimizing Kafka and Golang performance.

Section 8: Deploying to Production

  • Containerizing the Order Service with Docker.

  • Deploying Kafka and Order Service to Kubernetes.

  • Ensuring high availability and fault tolerance.

Final Project: Build and Deploy a Production-Ready Order Service

  • Develop a fully functional Order Service application.

  • Demonstrate real-time order processing with Kafka.

  • Deploy the application to a cloud environment.

Who This Course is For

  • Software developers interested in learning Kafka and Golang.

  • Backend engineers building distributed systems and microservices.

  • Architects designing scalable and reliable systems.

  • Anyone interested in real-time data processing.

Prerequisites

  • Basic knowledge of Golang programming.

  • Familiarity with REST APIs and microservices.

  • Fundamental understanding of distributed systems is helpful but not required.

Tools and Technologies Covered

  • Apache Kafka

  • Golang

  • Docker

  • MongoDB

  • JSON for message serialization

Enroll Now

Don’t miss this opportunity to master Kafka with Golang and build a scalable Order Service application. Enroll now and take the next step in your software development journey!

Who this course is for:

  • Beginner, who want to learn kafka in depth