Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Science
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 16 hours on-demand video
  • 13 articles
  • 31 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
IT & Software Other IT & Software Java

Kafka & Kafka Stream With Java Spring Boot - Hands-on Coding

Learn Apache Kafka and Kafka Stream & Java Spring Boot for asynchronous messaging & data transformation in real time.
Rating: 4.4 out of 54.4 (230 ratings)
2,541 students
Created by Timotius Pamungkas
Last updated 1/2021
English
English
30-Day Money-Back Guarantee

What you'll learn

  • Setup a basic Kafka development environment
  • Learn & implement Apache Kafka concepts : topic, partition, publish / consume
  • Kafka Stream : Real-time data transformation
  • Basic error handling in Kafka
  • Learn & implement Java programs to handle asynchronous data integration among multiple systems using Apache Kafka
  • How Kafka fit on microservice architecture
Curated for the Udemy for Business collection

Requirements

  • Understand basic algorithm and programming language
  • Basic Java programming language (especially with Spring) will helps

Description

New Update :

  • Find out how Kafka fit on microservice architecture.

  • How to use Kafka along with REST API & Database transaction

  • Kafka Stream:

    • real-time data transformation within Apache Kafka

    • joining stream

    • joining table

    • joining stream-table

    • global table

  • Exactly-Once Semantic

----------------------------------------------------------------------------------------------------

Messaging System

Nowadays, we work with multiple systems and data that runs among them. It's a common thing that one system triggers another system(s) process, or data needs to be transferred among systems. Whether your systems built on monolith or microservice, whatever database you use, you need those data moving from one point to another. And you need those movement FAST to be processed immediately (otherwise your life will be ruined).

That kind of demand is so common, and fortunately today's technology has an answer for that. Say hello to messaging system, where you can send message easily from one system to another system(s) asynchronously, in almost-real-time interval. There are some popular messaging system in the market, and in this course we will be talking about one of the most popular : Apache Kafka.


Apache Kafka

Apache Kafka is like central hub where you place all data from source system(s), and the other corresponding systems takes the data, and process it. Apache Kafka is open-source, reliable, and able to works on cluster. It has small learning curve to get started, yet powerful enough for system integrations.

This course includes everything you need to know about basic Apache Kafka, and implementation using Java (Spring Framework). After finishing this course, you should be able to install, configure and use Apache Kafka from Java Program. In this course, we will walk through detailed step-by-step from concept to hands-on Java coding. Given such way, you will learn have the understanding of logic behind and experience how things are done using Apache Kafka and Java source codes.


Java and Spring Boot

Java itself has been a popular language for years. Java is recognized as world's most used programming language by several programming language index. Due it's popularity and long history, Java has a lot of open source projects or framework to helps developer works more efficient.

One of the popular Java framework is Spring Framework. Over years, Spring Framework has grown substantially among Java community. Almost all software components required by a Java application is available within Spring Framework. However, configuring Spring requires some effort. This involves setting up library dependencies, then configuring the required Java Spring beans using XML or annotations in Java code. Spring developers soon realized that it is possible to automate much of this work.

So in 2014, Spring Boot 1.0 released for Java community. Spring Boot gives Java programmers a lot of automatic helpers, and lead to quick large scale adoption of the project by Java developers. 

Spring provides good support for Kafka and provides the abstraction layers to work with over the native Kafka Java clients. With Spring, develop application to interact with Apache Kafka is becoming easier.


What You Will Get

After finishing the course, you will learn:

  • Installation of Apache Kafka and Java, for development environment

  • Apache Kafka key concepts

  • Create publisher and consumer using Java (Spring Boot)

  • Basic error handler if there is a failure during processing Apache Kafka message

  • Basic understanding how Kafka fit on Microservice Architecture


The course will explains to you not only the theory of Apache Kafka, but also a lot of hands-on coding to get your hands dirty and your brain working. Whether you are a hobbyist, beginner, or experienced developer, this course will surely brings added value for you!


Road to Microservices

Message broker is one important pillar of microservice architecture. In micro service, we use asynchronous messaging for inter-service communication. Services communicating by exchanging messages over messaging channels like Apache Kafka.

In this course, you will learn the theory and hand-code of messaging with Apache Kafka, which is a communication pillar of microservice architecture.

Later on, you can learn further about Microservice Architecture & Pattern with Kafka as it's important component.

Who this course is for:

  • Developers who want to learn how Apache Kafka can fit into their enterprise systems, especially when integrating data among multiple systems, in near-real-time fashion
  • Anyone who wants to know the basic ways of messaging system, or publish-subscribe pattern
  • Technical Manager / Architect that find a way to integrate data from one system to another

Course content

22 sections • 130 lectures • 16h 1m total length

  • Preview01:11
  • Preview02:46
  • Tips : How To Get Maximum Value From This Course
    05:56

  • Messaging System
    05:53
  • Messaging System - A Note
    00:14
  • Preview06:01
  • Java & Spring
    07:29
  • Java & Spring - A Note
    00:31

  • Download Java
    00:47
  • Install Java
    03:03
  • Kafka Installation for This Course
    00:56
  • Download Kafka
    00:17
  • Windows - Install Kafka
    05:14
  • Windows - Running Kafka
    07:29
  • Linux (Ubuntu/Debian) - Install Kafka
    03:57
  • Linux (Ubuntu/Debian) - Running Kafka
    00:52
  • Docker - Introduction
    09:02
  • Docker - Install & Run Kafka
    04:16
  • IMPORTANT - Executing Kafka Commands
    00:31
  • Download Eclipse
    00:05
  • Install Eclipse
    03:39

  • Kafka Basic Concepts
    00:29
  • Preview01:51
  • Topic, Partition, & Offset
    08:09
  • Producer
    04:33
  • Consumer & Consumer Group
    06:04
  • Consumer Offset & Delivery Semantic
    03:23
  • Zookeeper
    00:54

  • Spring Boot
    12:14
  • IMPORTANT - Kafka on Windows
    00:44
  • Hello Kafka - Topic & Partition
    08:41
  • Hello Kafka - Java Spring Code
    14:39
  • Hello Kafka - Additional Notes
    00:44
  • Consumer Is Real Time Indeed
    13:56
  • “Fixing” Consumer
    06:32
  • Producing Message With Key
    11:21
  • Multiple Consumers for Each Topic
    15:30

  • Why JSON?
    00:39
  • Producing JSON Message
    12:56
  • Customize JSON Format
    04:20
  • Consuming JSON Message
    07:06
  • Consuming With Consumer Group - Create Producer
    30:03
  • 40 Consuming With Consumer Group - Create Consumer
    13:57
  • Rebalancing
    10:03
  • Kafka Configuration
    13:24
  • Kafka Configuration Reference
    00:02
  • Message Filter
    30:17

  • KafkaListener Error Handler
    21:34
  • Global Error Handler
    23:48
  • Retrying Consumer
    22:57
  • Spring Retry Reference
    00:16
  • Note Spring Boot 2.3+ : Deprecated Method
    00:20
  • Dead Letter Topic
    28:12

  • RabbitMQ vs Kafka
    06:47

  • Preview05:09
  • Source Code For This Section
    00:43
  • Setting Up The Projects
    10:25
  • Organizing Source Code
    08:30
  • Auto Create Topics From Code
    02:58
  • Order App - Database
    09:59
  • Order App - Kafka Producer
    06:17
  • Handle Kafka Publish Result - Kafka Producer Callback
    06:36
  • Order App - API & Finalize App
    32:34
  • Order App - Test the App
    03:49
  • Pattern App - Kafka Consumer
    05:56
  • Order App - Promotion Publisher
    15:08
  • Order App - Discount Publisher
    01:39
  • Storage App - Kafka Consumer
    05:39
  • Order App - Add Header To Message
    06:59
  • Reward App - Kafka Consumer
    07:28
  • Reward App - Request / Reply
    10:32

  • Preview03:12
  • Stream Processing
    07:29
  • Kafka Stream Concept
    03:54
  • Prepare For Kafka Stream
    03:26
  • Hello Kafka Stream
    18:43
  • String Serde
    11:41
  • Spring JSON Serde
    07:50
  • Custom JSON Serde
    14:08
  • Stream & Table
    03:22
  • Log Compaction
    02:05
  • Kafka Stream Operations
    07:58

Instructor

Timotius Pamungkas
Java Software Engineer, Architect
Timotius Pamungkas
  • 4.4 Instructor Rating
  • 764 Reviews
  • 5,792 Students
  • 7 Courses

Timotius Pamungkas came from small Indonesian city but now working on it's capital : Jakarta. He's been in software engineering job for years. His first job was in the large consumer finance in Indonesia. Then he took a role as Engineering Manager on Indonesian unicorn. Few moments after, he moved back to another large Indonesian consumer finance and take a role on Engineering & Architect Head.

Taking the role as Head, he get more time to coach his team members about software engineering practice.

With more than 5 years experience as Java developer, and for the last few years handle enterprise complexity as Engineering Manager & Enterprise Architect, he will be glad to deliver high quality courses containing information of various technologies and software architecture design skills that he has acquired through his professional experience.

His goal is to deliver courses that not only good in theory, but also applicable in real-life use cases. His courses give the concept, and the hand-coding experience. He will  also provide various resources, including source code to hands-on coding.

Other than his daily job, I also like researching new tech and get his hands into keyboard for writing codes. But he does like share what he learnt. His first teaching experience was back years ago when he was still in the college and teach juniors about algorithm. Some says he is a natural teacher, and he hope that he can share his knowledge by publishing courses into Udemy.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.