Learn Apache Kafka and Kafka Stream & Java Spring Boot for asynchronous messaging & data transformation in real time.
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
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
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