Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Event-Driven Microservices: Spring Boot, Kafka and Elastic

Kiến trúc Microservices Hướng Sự Kiện: Spring Boot, Kafka và Elastic

Kiến trúc Microservices Hướng Sự Kiện: Spring Boot, Kafka và Elastic

Thành thạo kiến trúc microservices hướng sự kiện với các mẫu thiết kế sử dụng Spring Boot, Spring Cloud, Kafka và Elasticsearch

4.5
(2,386 đánh giá)
26,562 học viên
Giảng viên
Ali Gelenler
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 389.000đ -87%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
16.0 giờ video
125 bài giảng
27 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 28/04/2026

Bạn sẽ học được gì

Thành thạo kiến trúc Microservices với Spring Boot và bộ công cụ Spring Cloud
Phát triển Microservices hướng sự kiện với Apache Kafka
Hiểu về Đóng gói Container cho microservices với Docker và Docker Compose
Học kiến thức cơ bản về Kafka brokers, topics, partitions, producers, consumers, admin client, tin nhắn Avro, Zookeeper và schema registry
Học kiến thức cơ bản về Elasticsearch, Index API và Query API
Xây dựng ứng dụng nhắn tin dựa trên Kafka với Spring Kafka
Hiểu về lập chỉ mục và truy vấn Elasticsearch với Spring Data Elasticsearch
Triển khai mẫu CQRS với Kafka và Elasticsearch
Triển khai mẫu Externalize Configuration với Spring Cloud Config
Phát triển Rest API
Triển khai Phiên bản hóa API cho các Rest API
Triển khai Spring Data JPA với PostgreSQL
Hiểu về Đăng ký và Khám phá Dịch vụ với Netflix Eureka và Spring Cloud
Triển khai Cân bằng tải phía Client với Spring Cloud Load Balancer
Hiểu về mẫu API Gateway với Spring Cloud Gateway
Triển khai mẫu Circuit Breaker với Spring Cloud Gateway và Resilience4j
Triển khai Giới hạn Tốc độ (Rate Limiting) với Spring Cloud Gateway và Redis
Hiểu về Xác thực và Ủy quyền với Spring Security OAuth 2.0 và giao thức OpenID Connect sử dụng Keycloak và JWT
Triển khai Giám sát microservices với Spring Boot Actuator, Micrometer, Prometheus và Grafana
Hiểu về các mẫu Tổng hợp Nhật ký và Trực quan hóa với bộ công cụ ELK - Elasticsearch, Logstash và Kibana
Hiểu cách sử dụng Hateoas trong Rest API với Spring Hateoas
Triển khai Open API v3 cho tài liệu Restful API với Swagger v3
Sử dụng Thymeleaf và Bootstrap cho giao diện front-end cơ bản
Hiểu về phát triển Reactive và luồng bất đồng bộ bằng cách truy vấn Elasticsearch theo cách reactive với Reactive Spring, WebFlux, WebClient và Reactive Thymeleaf
Học về Truy vết Phân tán với Slf4J MDC, Spring Cloud Sleuth và Zipkin
Hiểu về mẫu Cơ sở dữ liệu riêng cho từng Dịch vụ (Database per Service)
Hiểu cách sử dụng Kafka streams với state store
Học cách truyền luồng tweet từ Twitter bằng Twitter4J
Học cách tạo nội dung tweet bằng Gen AI và Spring AI

Yêu cầu

Kiến thức về Java
Kiến thức cơ bản về Spring Framework
Có kinh nghiệm phát triển back-end

Đối tượng phù hợp

Dành cho người muốn thành thạo kiến trúc microservices bằng cách áp dụng các mẫu thiết kế với Spring Boot và Spring Cloud
Dành cho người muốn học về microservices hướng sự kiện với Kafka
Dành cho người thích học qua thực hành

Nội dung khóa học

20 phần • 121 bài giảng
1 [MỚI] Giới thiệu về kiến trúc microservices
2 [MỚI] Chi tiết triển khai cho từng microservice
3 [MỚI] Tổng quan dự án & Giới thiệu về kiến trúc hướng sự kiện
1 [MỚI] Thiết lập môi trường
2 Kho mã nguồn
1 [MỚI] Generative AI với Spring AI
2 [MỚI] Generative AI và Mô hình Ngôn ngữ Lớn (LLM)
3 [MỚI] Chọn một Mô hình trong LLM
4 [MỚI] Kỹ thuật Prompt: Tối ưu hóa tương tác với LLM
5 [MỚI] Spring AI: Tích hợp AI với Spring Boot để phát triển liền mạch
1 [MỚI] Giới thiệu về Spring Boot
2 [MỚI] Tạo dự án Spring Boot cơ bản
3 [MỚI] Microservice đầu tiên - PHẦN 1 - Dịch vụ Tạo Tweet bằng AI gửi tới Kafka
4 [MỚI] Microservice đầu tiên - PHẦN 2 - Dịch vụ Tạo Tweet bằng AI gửi tới Kafka
5 [MỚI] Lấy API Keys cho Open AI, Google Vertex AI và DeepSeek
6 [MỚI] Tạo Dịch vụ Khung: Thành phần command trong CQRS & Event sourcing
7 [MỚI] Tạo dữ liệu Tweet bằng Open AI API sử dụng yêu cầu Http trực tiếp - PHẦN 1
8 [MỚI] Tạo dữ liệu Tweet bằng Open AI API sử dụng yêu cầu Http trực tiếp - PHẦN 2
9 [MỚI] Tạo dữ liệu Tweet bằng Open AI Java SDK
10 [MỚI] Tạo dữ liệu Tweet bằng Google Vertex AI
11 [MỚI] Tạo dữ liệu Tweet bằng Spring AI và Open AI
12 [MỚI] Tạo dữ liệu Tweet bằng Spring AI và DeepSeek
13 [MỚI] Tạo dữ liệu Tweet bằng Spring AI, Ollama và DeepSeek trên máy cục bộ
14 [CŨ] Giới thiệu về Spring Boot
15 [CŨ] Tạo dự án Spring Boot cơ bản
16 [CŨ] Microservice đầu tiên
17 [CŨ] Truyền luồng tweet với Twitter4j: Phần command trong CQRS & Event sourcing
18 [CŨ] Truyền luồng tweet với Twitter API V2
19 [CŨ] Thêm mock twitter stream làm phương án thay thế
1 Giới thiệu Apache Kafka: Event sourcing, topics, partitions, producer & consumer
2 Thêm module config chung
3 Chạy cụm Apache Kafka với docker: Kafka, Zookeeper và Schema Registry
4 Tạo module kafka-model
5 Tạo module kafka-admin - Phần 1: Cấu hình và dependencies
6 Tạo module kafka-admin - Phần 2: Tạo Kafka topics bằng lập trình
7 Tạo module kafka-producer: Cấu hình Kafka producer
8 Tạo module kafka-producer: Tạo sự kiện để lưu trữ trong Kafka event store
9 Tích hợp các module Kafka với Microservice: Sử dụng Kafka làm event store cho dịch vụ
10 Đóng gói container cho microservice với docker image: Chạy tất cả với docker compose
1 Tạo Repository cho Config Server
2 Tạo Spring Cloud Config Server như một Microservice
3 Sử dụng file logback chung cho tất cả microservices
4 Thay đổi twitter-to-kafka-service để làm việc với config server
5 Sử dụng remote GitHub repository
6 Thêm bảo mật cho config server và mã hóa mật khẩu
7 Sử dụng Jasypt để mã hóa dữ liệu nhạy cảm
8 Sử dụng JCE để mã hóa dữ liệu nhạy cảm
9 JCE vs Jasypt
10 Đóng gói container cho config server bằng cách tạo docker image
1 Giới thiệu về Kafka Consumer: Đọc sự kiện dữ liệu từ Kafka bằng tin nhắn
2 Thêm module kafka-consumer
3 Tạo microservice: kafka-to-elastic-service
4 Thêm kiểm tra khởi tạo
5 Giới thiệu Elasticsearch
6 Chạy elastic search với docker
7 Tạo module elastic-model
8 Tạo module elastic-config
9 Tạo module elastic-index-client
10 Sử dụng Elasticsearch repositories để lập chỉ mục
11 Tích hợp các module elastic với microservice
12 Đóng gói container cho microservice với docker image: Chạy tất cả với docker compose
1 Giới thiệu về Elastic Query Api
2 Tạo module elastic-query-client
3 Sử dụng spring data elasticsearch repository để truy vấn
4 Microservice truy vấn Elastic: Thành phần query trong CQRS & Event sourcing
5 Tạo web controller
6 Tạo business layer để trả về dữ liệu elastic trong controller
7 Tạo validation và controller advice
8 Giới thiệu về Hateoas (Hypermedia as the Engine of Application State)
9 Thêm khả năng Hateoas cho Rest API với Spring Hateoas
10 Giới thiệu về Phiên bản hóa API của Rest API
11 Triển khai Phiên bản hóa API cho Rest API của elastic query service
12 Bật Open API v3 cho tài liệu hóa RESTful API với Swagger v3
13 Đóng gói container cho microservice bằng cách tạo docker image
1 Giới thiệu về Web clients
2 Bắt đầu triển khai elastic-query-web-client
3 Tạo Thymeleaf templates với Bootstrap
4 Tạo Rest API controller
5 Tạo cấu hình cho web client và bảo mật
6 Tạo Webclient implementation
7 Thêm client side load balancer với Spring Cloud Load Balancer
8 Đóng gói container cho microservice bằng cách tạo docker image
1 Tạo các module dịch vụ và web client chung để tái sử dụng theo nguyên tắc DRY
2 Tạo reactive elastic query service: Reactive Spring và kiểu reactive Flux
3 Tạo reactive elastic web client: Reactive Spring, WebFlux và WebClient
1 Giới thiệu về Oauth và máy chủ ủy quyền Keycloak
2 Chạy và cấu hình máy chủ ủy quyền Keycloak với OIDC để xác thực
3 Hiểu về Spring security với Spring Security OAuth 2.0 resource server
4 Cấu hình query service với Spring security Oauth 2.0, OpenId Connect và JWT
5 Thêm quyền người dùng với Spring security bằng cách đọc từ cơ sở dữ liệu
6 Cấu hình bảo mật web client với Spring boot security Oauth2, OIDC và JWT
7 Triển khai SSO với Keycloak
1 Giới thiệu về Kafka streams
2 Dự án cơ sở microservice Kafka streams
3 Hoàn thiện microservice Kafka streams
4 Tạo một endpoint cho Kafka state store
5 Gọi Kafka State Store từ Query Service
1 Cấu hình microservice Analytics với Spring Boot Data JPA và PostgreSQL
2 Hoàn thiện microservice Analytics với Spring Data JPA và PostgreSQL
3 Tạo một endpoint Rest API cho dữ liệu analytics
4 Gọi Rest API analytics từ query service
1 Giới thiệu về đăng ký dịch vụ và khám phá dịch vụ với Spring Eureka
2 Tích hợp dịch vụ khám phá Spring eureka với các microservices
1 Giới thiệu về Api Gateway: Resilience4J Circuit Breaker và Redis Rate Limiter
2 Triển khai Api Gateway với Springcloud gateway, Redis và Resilience4J
3 Tích hợp Spring Cloud Api Gateway Circuit Breaker & Rate limiting với các dịch vụ
1 Cấu hình microservices với Spring boot actuator, Prometheus và Micrometer
2 Thêm giám sát và tạo bảng điều khiển với Grafana
1 Cấu hình microservices để làm việc với Logstash
2 Thêm Logstash và Kibana vào ứng dụng: Hoàn thiện bộ công cụ ELK
3 Làm cho gateway và config server có tính sẵn sàng cao và cải thiện đặt tên file log
1 Giới thiệu Spring Cloud Sleuth và Zipkin
2 Tích hợp Spring Cloud Sleuth và Zipkin
1 Cập nhật lên spring boot 2.5.0
2 Cập nhật lên spring boot 2.5.3 & Cập nhật các dependencies và docker images khác
3 Cập nhật lên spring boot 2.5.6
4 Cập nhật lên spring boot 2.6.3
5 Cập nhật lên spring boot 2.7.0
6 Cập nhật lên spring boot 2.7.5
7 Cập nhật lên spring boot 3.1.2
1 Bài giảng bổ sung

Giới thiệu khóa học

Hi there! My name is Ali Gelenler. I'm here to help you learn event-driven microservices architecture by applying best practices for real-life challenges.

Important Update: This course was using Twitter api as the source data. Twitter changed the twitter developer account to a paid subscription. After this, with the latest update series, instead of streaming data from Twitter, Generative AI is used to simulate tweet streaming, so that you can create the tweet content using a Large Language Model. For this I added examples from different providers using different models as listed below.

  • Generate Tweet data using Open AI API using direct Http request

  • Generate Tweet data using Open AI Java SDK

  • Generate Tweet data using Google Vertex AI

  • Generate Tweet data using Spring AI and Open AI

  • Generate Tweet data using Spring AI and DeepSeek

  • Generate Tweet data using Spring AI, Ollama and DeepSeek locally

You can see the new implementations with [NEW] prefix in the lectures. I kept the old twitter implementation for now using [OLD] prefix so that you can compare the old and new implementations. The old lectures will be deleted in time.

In this course, you will focus on the development of microservices. With the help of microservices you can independently develop and deploy your application components . You can also easily scale services according to each service's own resource needs, for example you can scale better and create more instances of a service that requires more requests.

You can always use the latest versions for spring boot, spring cloud and other dependencies in this course. Please just follow the last section's lectures to see the required code and configuration changes for updated versions. Also if you would like to use subtitles during the course, you can turn on the captions on videos as all lectures are updated with hand-written subtitles. I suggest using subtitles to make it easier to follow the lectures.

When moving from a monolith application to microservices architecture, some challenges will arise as a result of having a distributed application and system. In this course you will learn how to deal with these challenges using event-driven architecture (EDA) architecture with Apache Kafka.

With an event-driven architecture;

  • You will truly decouple the services and create resilient services because a service has no direct communication with other services

  • You will use asynchronous/non-blocking communication between services

  • You will use an event/state store (Kafka), and remove the state from the services for better scalability

     

  • Tanima: "This is one of the best course i ever had in udemy, instructor is super responsive and always deals with complex problem during the course, Thank you so much Professor i will always be grateful to you for this course, and will keep eye on your next course release."

You will develop a microservice architecture from scratch using the most recent software platforms, technologies, libraries and tools, following best practices, applying microservices patterns and using Java, Spring boot, Spring cloud, Spring Security, Kafka and Elasticsearch. We will also cover Event sourcing and Event-driven services using Kafka as the event store.

The microservices patterns that you will be implementing are:

  • Externalized configuration with Spring Cloud Config

  • CQRS with Kafka and Elastic search

  • Api versioning for versioning of Rest APIs

  • Service Registration and Discovery with Spring Cloud and Netflix Eureka

  • Api Gateway with Spring Cloud Gateway

  • Circuit breaker with Spring Cloud Gateway and Resilience4j

  • Rate limiting with Spring Cloud Gateway and Redis to use Redis as the Rate limiter

  • Distributed tracing with SLF4J MDC, Spring Cloud Sleuth and Zipkin

  • Log aggregation with ELK stack (Elasticsearch, Logstash and Kibana)

  • Client side load balancing with Spring Cloud Load Balancer

  • Database per Service

  • Messaging between microservices using Kafka

You will also implement Spring Security Oauth 2.0 and OpenID connect protocols for Authentication and Authorization using Keycloak and JWT. The use of Oauth for authorization of services and OpenID connect for authentication is widely used in microservices archictecture with Spring boot security.

  • Oliver Michels: "Amazing course that covers a lot of ground, i.e. Spring Boot, Kafka, Elastic, OAuth/Keycloak, etc. and shows how all those pieces fit together in a nice microservice architecture."

Another important topic that you will focus on is the monitoring of microservices. You will use Spring boot actuator and Prometheus with Micrometer which can be used to get metrics such as health, number of running threads, number of requests, response time and memory usage. You will also learn to use Grafana to create a nice dashboard to visualize the metrics that you obtained using Spring boot actuator and Prometheus.

While introducing event-driven microservices, you will understand the basics of Apache Kafka by covering Kafka topics, Kafka partitions, Kafka consumer and producer APIs, Kafka admin client and Avro messaging.

  • Emre Demir: "This is not only a software tutorial. It is an advanced computer engineering course. The examples and descriptions are excellent. Full-stack and Back-end developers must take."

To communicate between microservices, apart from using Kafka messaging, I will also introduce Kafka Streams and show how to use Kafka Streams to create a temporary state store with the accumulated streaming data. This temporary data source will then be consumed by another microservice.

To communicate with the data stores in microservices I will use different Spring Data dependencies, such as Spring Data JPA with PostgreSQL, Spring Data Elasticsearch and Spring Kafka.

For the Api documentation, I will use Open Api 3 specification which implements Swagger 3.0. Open Api will create a RESTful interface for an API and help you to easily develop and consume a Rest API.

You will also learn how to use Hateoas (Hypermedia as the Engine of Application State) in a Rest Api with Spring Hateoas. Hateoas will provide  links to resources on the server, and update the REST API response with these links to interact with the client dynamically. This will enable developing level 3 Rest APIs.

  • Sidhartha Mallik: "This course is to the point - and great one for every level, strongly recommend"

There is also a reactive development section in this course which demonstrates querying elasticsearch reactively with Reactive Spring, WebFlux, WebClient and Reactive Thymeleaf. In this section you will learn how to use Spring Webflux and Spring reactive components to create an asynchronous flow between microservices.

You will use Spring boot and Spring cloud along with Docker for developing cloud ready microservices. Docker is a containerization platform and it enables to package applications into containers. These containers can later run in any environment that docker is running. In this course you will create the docker images of the microservices that you have developed. Then use docker compose to run all the containers of microservices together, along with the other dependencies such as Kafka, Elasticsearch, Keycloak, Redis, Prometheus, Grafana and Zipkin . In the end a single 'docker-compose up' command will be enough to run all microservices architecture together with the required dependencies. Having these docker images will enable you to deploy your application to any cloud vendor easily.

  • Mohammed O. Tillawy: "amazing course, but prepare yourself, very intense, and tons of info, needs focus and patience." 

You will be following a hands-on approach and be developing a project from scratch in which you will have multiple microservices surrounded with multiple modules to accomplish the specific tasks. So you will need to make your hands dirty in this course where I will be guiding you from start to finish. You will also find multiple choice quizes in each section to check your progress throughout the course.

At the end of the course you will not only understand the real life challenges of a distributed application with multiple services and components, but also you will be able to apply solutions to this challenges.

You can download the source code in each lecture separately and run them easily using your IDE or docker.

  • Ido Charar: "This course by Ali Gelenler is outstanding. It is not just about Spring Cloud with kafka and elastic. This course gives you much more knowledge around technologies related to Spring Cloud in particular and Cloud Computing in general. Among them are technologies like reactive programming, streaming, linux OS, security, Design Patterns and much much more. All the information is given in succinct but ingestable form, which allows you broaden your skills in shortest possible time. Very appreciate the investment in material, lecturer involvement, constant assistance and help to the students. Will recommend to take this course everyone who want to level up her/his skills."

For more detailed information on the progress of this course, you can check the introductory video and free lessons, and if you decide to enroll in this course, you are always welcome to ask and discuss the concepts and implementation details on Q/A and messages sections. I will guide you from start to finish to help you successfully complete the course and gain as much knowledge and experience as possible from this course.

  • Shantanu Srivastava: "I brought this course specifically for learning Apache Kafka and after going through the Introduction video, I find out that this course will cover literally every single thing you need to know as a spring developer. From API gateways and Service Discovery, to log forwarding and resilience and so much more. Awesome!!"

Remember! There is a 30-day full money-back guarantee for this course! So you can safely press the 'Buy this course' button with zero risk and join this learning journey with me.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Kafka
Hiển thị tất cả khoá học Microservices
Clean Code

Clean Code

Academind by Maximilian Schwarzmüller

4.6 (26435)
118,068
50.000đ -88%
Hiển thị tất cả khoá học Software Engineering
Hiển thị tất cả khoá học Spring Boot
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊