Event-Driven Microservices: Spring Boot, Kafka and Elastic
Event-Driven Microservices: Spring Boot, Kafka and Elastic, available at $94.99, has an average rating of 4.32, with 102 lectures, 27 quizzes, based on 2076 reviews, and has 23904 subscribers.
You will learn about Master Microservices architecture with Spring boot and Spring cloud stack Develop Event-driven microservices with Apache Kafka Understand Containerization of microservices with Docker and Docker compose Learn Basics of Kafka brokers, topics, partitions, producers, consumers, admin client, avro messaging, zookeper and schema registry Learn Basics of Elasticsearch, index api and query api Implement Kafka based messaging applications with Spring Kafka Understand Elasticsearch indexing and queries with Spring Data Elasticsearch Implement CQRS pattern with Kafka and Elasticsearch Implement Externalize configuration pattern with Spring Cloud Config Develop Rest API Implement Api versioning for versioning of Rest APIs Implement Spring Data JPA with PostgreSQL Understand Service Registration and Discovery with Netflix Eureka and Spring cloud Implement Client side load balancing with Spring Cloud Load Balancer Understand Api Gateway pattern with Spring Cloud Gateway Implement Circuit Breaker pattern with Spring Cloud Gateway and Resilience4j Implement Rate Limiting with Spring Cloud Gateway and Redis Understand Authentication and Authorization with Spring Security Oauth 2.0 and OpenID connect protocols with Keycloak using JWT Implement Monitoring of microservices with Spring Boot Actuator, Micrometer, Prometheus and Grafana Understand Log aggregation patterns and visualization with ELK stack – Elasticsearch, Logstash and Kibana Understand using Hateoas in Rest APIs with Spring Hateoas Implement Open Api v3 for Restful API documentation with Swagger v3 Use Thymeleaf and Bootstrap for a basic front-end Understand Reactive development and asynchronous flow by querying Elasticsearch reactively with Reactive Spring, WebFlux, WebClient and Reactive Thymeleaf Learn Distributed tracing with Slf4J MDC, Spring Cloud Sleuth and Zipkin Understand Database per Service pattern Understand using Kafka streams with state store Learn streaming tweets from Twitter using Twitter4J This course is ideal for individuals who are One that wants to master microservices architecture applying patterns with Spring boot and Spring cloud or One that wants to learn event-driven microservices with Kafka or One that likes to learn with a hands-on approach It is particularly useful for One that wants to master microservices architecture applying patterns with Spring boot and Spring cloud or One that wants to learn event-driven microservices with Kafka or One that likes to learn with a hands-on approach.
Enroll now: Event-Driven Microservices: Spring Boot, Kafka and Elastic
Summary
Title: Event-Driven Microservices: Spring Boot, Kafka and Elastic
Price: $94.99
Average Rating: 4.32
Number of Lectures: 102
Number of Quizzes: 27
Number of Published Lectures: 102
Number of Published Quizzes: 27
Number of Curriculum Items: 129
Number of Published Curriculum Objects: 129
Original Price: €129.99
Quality Status: approved
Status: Live
What You Will Learn
- Master Microservices architecture with Spring boot and Spring cloud stack
- Develop Event-driven microservices with Apache Kafka
- Understand Containerization of microservices with Docker and Docker compose
- Learn Basics of Kafka brokers, topics, partitions, producers, consumers, admin client, avro messaging, zookeper and schema registry
- Learn Basics of Elasticsearch, index api and query api
- Implement Kafka based messaging applications with Spring Kafka
- Understand Elasticsearch indexing and queries with Spring Data Elasticsearch
- Implement CQRS pattern with Kafka and Elasticsearch
- Implement Externalize configuration pattern with Spring Cloud Config
- Develop Rest API
- Implement Api versioning for versioning of Rest APIs
- Implement Spring Data JPA with PostgreSQL
- Understand Service Registration and Discovery with Netflix Eureka and Spring cloud
- Implement Client side load balancing with Spring Cloud Load Balancer
- Understand Api Gateway pattern with Spring Cloud Gateway
- Implement Circuit Breaker pattern with Spring Cloud Gateway and Resilience4j
- Implement Rate Limiting with Spring Cloud Gateway and Redis
- Understand Authentication and Authorization with Spring Security Oauth 2.0 and OpenID connect protocols with Keycloak using JWT
- Implement Monitoring of microservices with Spring Boot Actuator, Micrometer, Prometheus and Grafana
- Understand Log aggregation patterns and visualization with ELK stack – Elasticsearch, Logstash and Kibana
- Understand using Hateoas in Rest APIs with Spring Hateoas
- Implement Open Api v3 for Restful API documentation with Swagger v3
- Use Thymeleaf and Bootstrap for a basic front-end
- Understand Reactive development and asynchronous flow by querying Elasticsearch reactively with Reactive Spring, WebFlux, WebClient and Reactive Thymeleaf
- Learn Distributed tracing with Slf4J MDC, Spring Cloud Sleuth and Zipkin
- Understand Database per Service pattern
- Understand using Kafka streams with state store
- Learn streaming tweets from Twitter using Twitter4J
Who Should Attend
- One that wants to master microservices architecture applying patterns with Spring boot and Spring cloud
- One that wants to learn event-driven microservices with Kafka
- One that likes to learn with a hands-on approach
Target Audiences
- One that wants to master microservices architecture applying patterns with Spring boot and Spring cloud
- One that wants to learn event-driven microservices with Kafka
- One that likes to learn with a hands-on approach
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 uses Twitter api as the source data. Twitter is planning to change the twitter developer account to a paid subscription. However this will not effect the course because I have already added a Mock Tweet implementation so that you will not need to create a Twitter developer account if it is turned into a paid service.
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.
Course Curriculum
Chapter 1: Introduction to microservices architecture
Lecture 1: Introduction to microservices architecture
Lecture 2: Project overview & Introduction to Event-driven architecture
Lecture 3: Implementation details for each microservice
Chapter 2: Setting up the environment
Lecture 1: Setting up the environment
Chapter 3: First service: twitter-to-kafka-service – How to use Twitter4j & Kafka producers
Lecture 1: Introduction to Spring boot
Lecture 2: Creating the base Spring boot project
Lecture 3: The very first microservice
Lecture 4: Streaming tweets with Twitter4j: The command component in CQRS & Event sourcing
Lecture 5: Streaming tweets with Twitter Api V2
Lecture 6: Adding mock twitter stream as an alternative
Lecture 7: Introducing Apache Kafka:Event sourcing, topics, partitions, producer & consumer
Lecture 8: Adding common config module
Lecture 9: Running Apache Kafka cluster with docker: Kafka, Zookeeper and Schema Registry
Lecture 10: Creating kafka-model module
Lecture 11: Creating kafka-admin module – Part 1: Configuration and dependencies
Lecture 12: Creating kafka-admin module – Part 2: Creating Kafka topics programmatically
Lecture 13: Creating kafka-producer module: Configuration of Kafka producer
Lecture 14: Creating kafka-producer module: Produce events to store in Kafka event store
Lecture 15: Integrate Kafka modules with Microservice: Use Kafka as event store for service
Lecture 16: Containerization of microservice with docker image: Run all with docker compose
Chapter 4: Externalizing configuration with Spring Cloud Config Server
Lecture 1: Creating Config Server Repository
Lecture 2: Creating Spring Cloud Config Server as a Microservice
Lecture 3: Using a common logback file for all microservices
Lecture 4: Changing twitter-to-kafka-service to work with config server
Lecture 5: Using remote GitHub repository
Lecture 6: Adding security to config server and encrypt passwords
Lecture 7: Using Jasypt to encrypt sensitive data
Lecture 8: Using JCE to encrypt sensitive data
Lecture 9: JCE vs Jasypt
Lecture 10: Containerization of config server by creating the docker image
Chapter 5: kafka-to-elastic-service: How to use Kafka consumers and Elastic Index API
Lecture 1: Introduction to Kafka Consumer: Reading data events from Kafka using messaging
Lecture 2: Adding kafka-consumer module
Lecture 3: Creating the microservice: kafka-to-elastic-service
Lecture 4: Adding initialization check
Lecture 5: Introducing Elasticsearch
Lecture 6: Running elastic search with docker
Lecture 7: Creating elastic-model module
Lecture 8: Creating elastic-config module
Lecture 9: Creating elastic-index-client module
Lecture 10: Using Elasticsearch repositories for indexing
Lecture 11: Integrating elastic modules with microservice
Lecture 12: Containerization of microservice with docker image: Run all with docker compose
Chapter 6: Elastic query microservice:Rest API, versioning, Hateoas,Open Api, Elastic query
Lecture 1: Introduction to Elastic Query Api
Lecture 2: Creating elastic-query-client module
Lecture 3: Using spring data elasticsearch repository for querying
Lecture 4: Elastic query microservice: The query component in CQRS & Event sourcing
Lecture 5: Creating web controller
Lecture 6: Creating business layer to return elastic data in controller
Lecture 7: Creating validation and controller advice
Lecture 8: Introduction to Hateoas (Hypermedia as the Engine of Application State)
Lecture 9: Adding Hateoas capability to Rest API with Spring Hateoas
Lecture 10: Introduction to Api versioning of Rest API
Lecture 11: Implementing Api versioning for elastic query service Rest API
Lecture 12: Enabling Open Api v3 for documentation of RESTful API with Swagger v3
Lecture 13: Containerization of microservice by creating the docker image
Chapter 7: Query web client microservice: Using REST Api, Webclient, Thymeleaf, Bootstrap
Lecture 1: Introduction to Web clients
Lecture 2: Starting to implement elastic-query-web-client
Lecture 3: Creating Thymeleaf templates with Bootstrap
Lecture 4: Creating Rest API controller
Lecture 5: Creating configurations for web client and security
Lecture 6: Creating Webclient implementation
Lecture 7: Adding client side load balancer with Spring Cloud Load Balancer
Lecture 8: Containerization of microservice by creating the docker image
Chapter 8: Reactive version of elastic query service and web client: Using Reactive Spring
Lecture 1: Creating common service and web client modules to re-use them with DRY principle
Lecture 2: Creating reactive elastic query service: Reactive Spring and Flux reactive type
Lecture 3: Creating reactive elastic web client: Reactive Spring, WebFlux and WebClient
Chapter 9: Securing the services: Spring security OAuth2, OpenID connect, Keycloak and JWT
Lecture 1: Introduction to Oauth and Keycloak authorization server
Lecture 2: Run and configure Keycloak authorization server with OIDC for authentication
Lecture 3: Understanding Spring security with Spring Security OAuth 2.0 resource server
Lecture 4: Configuring query service with Spring security Oauth 2.0, OpenId Connect and JWT
Instructors
-
Ali Gelenler
Senior Software Engineer | Tech Lead -
EA Algorithm
IT Training and Consulting
Rating Distribution
- 1 stars: 51 votes
- 2 stars: 53 votes
- 3 stars: 174 votes
- 4 stars: 639 votes
- 5 stars: 1159 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024