Companies Home Search Profile

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Focused View

Ali Gelenler,EA Algorithm

17:45:46

9 View
  • 1. Structure of the course.mp4
    13:36
  • 2. Clean & Hexagonal architectures.html
  • 3. Project overview - Part 1.mp4
    12:44
  • 4. Project overview - Part 2.mp4
    10:35
  • 5. SAGA Pattern.html
  • 6. Setting up the environment.mp4
    05:25
  • 1. Introduction to Clean and Hexagonal Architectures.mp4
    15:45
  • 2. Hexagonal Architecture.html
  • 3. Designing components for Order Service using Clean Architecture.mp4
    11:17
  • 4. Creating Order Service modules using Clean Architecture - PART 1.mp4
    12:06
  • 5. Creating Order Service modules using Clean Architecture - PART 2.mp4
    07:33
  • 6. Dependency Inversion Principle.html
  • 1. Introduction to Domain Driven Design.mp4
    12:35
  • 2. Domain Driven Design (DDD).html
  • 3. Designing Order Service domain logic components.mp4
    12:14
  • 4. Creating common domain module with base Entity and Aggregate Root classes.mp4
    05:19
  • 5. Adding value objects and domain events to common domain module.mp4
    13:26
  • 6. Implementing Order Service domain logic using DDD - Order Aggregate Root.mp4
    16:00
  • 7. DDD concepts.html
  • 8. Adding Order Entity implementation methods.mp4
    11:29
  • 9. Adding state changing methods to Order Entity.mp4
    10:05
  • 10. Entity Classes.html
  • 11. Implemeting Domain Events in Order Service domain layer.mp4
    09:20
  • 12. Implementing Order Domain Service.mp4
    12:33
  • 13. Implementing Order Application Service - DTO classes.mp4
    12:27
  • 14. Adding Mapper class and port definitions to Order Application Service.mp4
    12:36
  • 15. Implementing input ports in Order Application Service.mp4
    21:36
  • 16. First contact point to the domain layer.html
  • 17. Implementing message publisher in Order Application Service to fire the events.mp4
    12:38
  • 18. TransactionalEventListener.html
  • 19. Implementing Order Track Command Handler.mp4
    06:14
  • 20. Testing Order Service domain logic - Part 1.mp4
    13:17
  • 21. Testing Order Service domain logic - Part 2.mp4
    06:35
  • 1. Introduction to Apache Kafka.mp4
    06:18
  • 2. Resiliency of Kafka.html
  • 3. Running Kafka using Docker.mp4
    12:57
  • 4. Implementing Kafka config data generic module.mp4
    08:41
  • 5. Implementing Kafka model generic module.mp4
    07:00
  • 6. Implementing Kafka producer generic module.mp4
    08:26
  • 7. Implementing Kafka consumer generic module.mp4
    05:16
  • 8. Programming on Kafka.html
  • 1. Application module Adding Web Controller.mp4
    06:19
  • 2. Application module Adding Controller Advice.mp4
    10:59
  • 3. Spring annotations.html
  • 4. Data access module Adding Order JPA Entity.mp4
    10:45
  • 5. Data access module Adding JPA Repository & Adapter implementation.mp4
    12:03
  • 6. Data access module Adding Customer and Restaurant implementations.mp4
    13:26
  • 7. Messaging module Adding Mapper and Config Data.mp4
    06:19
  • 8. Messaging module Adding Publisher implementations.mp4
    14:31
  • 9. Messaging module Adding Listener implementations.mp4
    11:36
  • 10. Container module Adding spring boot starter class and config.mp4
    13:49
  • 11. Container module Explaining kafka consumer properties.mp4
    09:06
  • 12. Container module Adding Order database schema file.mp4
    04:13
  • 13. Creating Customer Service & Running Order Service.mp4
    10:32
  • 1. Domain core module Adding Aggregate Root, Entity and Value objects.mp4
    12:27
  • 2. Domain core module Adding Exception and Domain events.mp4
    02:47
  • 3. Domain core module Implementing Payment Domain Service.mp4
    12:43
  • 4. Application Service domain module Adding Mapper, Config and Ports.mp4
    10:37
  • 5. Application Service domain module Implementing input ports - Part 1.mp4
    10:51
  • 6. Application Service domain module Implementing input ports - Part 2.mp4
    02:46
  • 7. Application Service domain module Refactoring fire event process.mp4
    12:22
  • 8. DDD Concepts.html
  • 9. Implementing Data Access module.mp4
    12:27
  • 10. Implementing Messaging module Adding Mapper and Publishers.mp4
    11:36
  • 11. Implementing Messaging module Adding Listeners.mp4
    05:07
  • 12. Implementing Container module.mp4
    11:10
  • 1. Domain core module Adding Aggregate Root and Entities.mp4
    12:43
  • 2. Domain core module Adding Exception, Domain events and Domain Service.mp4
    07:13
  • 3. Application Service domain module Adding Mapper, DTO and Ports.mp4
    08:43
  • 4. Application Service domain module Implementing input ports.mp4
    09:41
  • 5. Implementing Data Access module.mp4
    11:32
  • 6. Implementing Messaging module.mp4
    09:05
  • 7. Implementing Container module.mp4
    10:38
  • 1. Introduction to SAGA pattern.mp4
    02:53
  • 2. SAGA Pattern.html
  • 3. Implementing Order Payment Saga.mp4
    13:02
  • 4. Using Order Payment Saga in Messaging & Implementing Order Approval Saga.mp4
    09:30
  • 5. Testing the application end-to-end with SAGA pattern changes.mp4
    11:00
  • 6. Testing failure scenarios.mp4
    08:59
  • 7. SAGA Pattern Implementation Considerations.html
  • 1. Introduction to Outbox pattern.mp4
    03:35
  • 2. Outbox Pattern.html
  • 3. Updating Order Service database schema and config for Outbox Pattern.mp4
    07:34
  • 4. Refactoring Order domain layer Adding Outbox models & Updating ports.mp4
    15:08
  • 5. Refactoring Order domain layer Adding Outbox scheduler.mp4
    16:54
  • 6. Refactoring Order domain layer Adding Outbox cleaner scheduler for Payment.mp4
    04:18
  • 7. Refactoring Order domain layer Adding Outbox schedulers for Approval.mp4
    11:03
  • 8. Refactoring Order domain layer Updating OrderCreate Command Handler.mp4
    10:28
  • 9. Refactoring Order domain layer Updating Order Payment Saga - Part 1.mp4
    18:31
  • 10. Refactoring Order domain layer Updating Order Payment Saga - Part 2.mp4
    14:22
  • 11. Refactoring Order domain layer Updating Order Approval Saga.mp4
    12:32
  • 12. Updating the Order Application Service Test for Outbox pattern changes.mp4
    04:14
  • 13. Refactoring Order Data Access module for Outbox pattern.mp4
    09:27
  • 14. Refactoring Order Messaging module for Outbox pattern - Part 1.mp4
    10:14
  • 15. Refactoring Order Messaging module for Outbox pattern - Part 2.mp4
    10:55
  • 16. Testing Order Payment Saga.mp4
    13:36
  • 17. Updating Payment database schema, config and package structure for Outbox.mp4
    07:13
  • 18. Refactoring Payment domain layer Adding Outbox schedulers.mp4
    15:59
  • 19. Refactoring Payment domain layer Updating Message listener implementation.mp4
    08:10
  • 20. Refactoring Payment Data Access module for Outbox pattern.mp4
    06:21
  • 21. Refactoring Payment Messaging module for Outbox pattern.mp4
    09:50
  • 22. Testing Payment Request Message Listener for double payment.mp4
    09:40
  • 23. Refactoring Restaurant Service for Outbox pattern - Part 1.mp4
    13:57
  • 24. Refactoring Restaurant Service for Outbox pattern - Part 2.mp4
    05:46
  • 25. Testing the application end-to-end with Outbox pattern changes.mp4
    14:50
  • 26. Testing failure scenarios.mp4
    04:18
  • 1. Introduction to CQRS pattern.mp4
    02:32
  • 2. CQRS Pattern.html
  • 3. Creating Customer Kafka topic & Customer modules.mp4
    14:32
  • 4. Implementing Customer Service modules.mp4
    14:47
  • 5. Updating Order Service to use local database table with CQRS pattern.mp4
    10:21
  • 6. Running Order and Customer Services to test CQRS pattern.mp4
    06:38
  • 1. Introduction to Kubernetes and running a local Kubernetes using Docker Desktop.mp4
    05:56
  • 2. Kubernetes concepts.html
  • 3. Deploying Confluent Kafka to local Kubernetes using cp-helm-charts.mp4
    11:54
  • 4. Creating Kubernetes deployment files for Microservices.mp4
    11:26
  • 5. Deploying Microservices into local Kubernetes.mp4
    09:30
  • 6. Deploying Postgres to local Kubernetes using Postgres docker image.mp4
    05:11
  • 1. Creating Google Cloud account & Creating a Kubernetes cluster in GKE.mp4
    07:46
  • 2. Pushing docker images to Google Artifact Registry.mp4
    10:00
  • 3. Steps to deploy Google Kubernetes Engine.html
  • 4. Running the Application on Google Kubernetes Engine - Part 1.mp4
    08:42
  • 5. Running the Application on Google Kubernetes Engine - Part 2.mp4
    07:55
  • 6. Adding horizontal scaling to services.mp4
    08:50
  • 7. Next steps & Thank you!.mp4
    01:18
  • Description


    Learn Spring boot microservices with Clean and Hexagonal architectures, DDD, SAGA, Outbox, CQRS, Kafka, Kubernetes & GKE

    What You'll Learn?


    • Develop Microservices Architecture using Spring Boot and Kafka
    • Understand and Apply Clean Architecture
    • Understand and Apply Hexagonal Architecture
    • Understand and Apply Domain Driven Design(DDD)
    • Implement SAGA Architecture Pattern
    • Implement Outbox Architecture Pattern
    • Implement CQRS Architecture Pattern
    • Learn Kafka Architecture and Programming on Kafka
    • Learn using Kafka as the Event Store for Event-Driven Services
    • Learn Kubernetes basics & Run a local cluster using Docker desktop
    • Deploy microservices to local Kubernetes Cluster
    • Run Confluent Kafka on Kubernetes using cp-helm-charts
    • Run Postgres on Kubernetes
    • Learn Google Cloud and Google Kubernetes Engine(GKE)
    • Deploy microservices to Google Kubernetes Engine
    • Learn Change Data Capture(CDC) with Debezium and Kafka

    Who is this for?


  • Developers and Architects want to see a practical approach to Clean and Hexagonal Architecture with Domain Driven Design
  • Developers and Architects want to learn architectural patterns, such as SAGA, Outbox and CQRS
  • Developers want to learn deploying a microservices architecture to Cloud using Google Kubernetes Engine
  • One that likes to learn with a hands-on approach
  • What You Need to Know?


  • Knowledge of Java
  • Knowledge of Spring Boot
  • Back-end development experience
  • More details


    Description

    Hi there! My name is Ali Gelenler. I'm here to help you learn microservices architecture while applying Clean and Hexagonal Architectures and using Domain Driven Design.

    In this course, you will focus on architectural aspects of microservices architecture and use Clean & Hexagonal Architecture principles while developing each service. In the implementation of the domain layer you will also apply Domain Driven Design principles.

    You can always use the latest versions for spring boot, and other dependencies in this course. I will be constantly updating the dependency version in the last section's lectures. You may check that 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. You may choose among over 20 different languages. I suggest using subtitles to make it easier to follow the lectures.


    • Scott Knox: "As a working professional, I can already tell this is the holy grail of understanding modern architectures. If your company is struggling to grasp certain concepts, this course will help you help them. Thanks Ali for the excellent explanations!"

    You will implement SAGA, Outbox and CQRS patterns using the 4 Spring boot Java microservices that you will develop using Clean and Hexagonal architecture principles.


    • Nick Goupinets: "Great course - gives a deep-dive into microservice development experience with Spring Boot. As an added bonus shows how to deploy it with Kubernetes. At times it felt too detailed, sort of making it hard to see the forest behind the trees. Also Hex. architecture resulted in what looked like an over-engineered overall solution. With that said, Ali did a fantastic job explaining all of the design decisions with clear architecture diagrams that offset that complexity!"

    You will also learn and use Apache Kafka as the event store, and use events to communicate between services, and to implement the architectural patterns.


    • Nischal Jadhav: "If u are looking to become an high level developer or an architect, then this is the best course.!"

    The concepts that you will be learning and implementing are:

    • Spring boot microservices

    • Clean Architecture

    • Hexagonal Architecture

    • Domain Driven Design

    • Event-driven services using Apache Kafka

    • SAGA Architecture Pattern

    • Outbox Architecture Pattern

    • CQRS Architecture Pattern

    • Kubernetes on local using Docker desktop

    • Kubernetes on Google Cloud using Google Kubernetes Engine(GKE)


    • Ali Aminian: "I really like this course. Thanks Ali for complete description and professional coding. I really enjoy to participate this course."

    To communicate with the data stores in microservices you will use Spring Data JPA for PostgreSQL, and Spring Kafka for Kafka.

    You will be following a hands-on approach and  developing a project from scratch. You will have 4 microservices that communicate using events with Kafka as the event store.


    • r j: "This is an amazing course. An architect from my team recommended this to me and he's implemented something similar but bigger in our company, the biggest retailer on the planet."

    You will also have multiple choice quizzes in each section to check your progress throughout the course.


    • Arindam Majumdar: "This course helped me immensely to understand the Domain Driven Design approach on Microservices. Its so far the best hands on course I have come across in Udemy so far. Many thanks to Ali. Great job!! :)"

    At the end of the course you will understand how to run an event-driven microservices architecture with Clean and Hexagonal Architecture principles and with Domain Driven Design concepts. You will use Spring boot and Java to develop the microservices. You will also learn implementing architectural microservices patterns such as SAGA, Outbox and CQRS. In the end you will be able to deploy your application to Kubernetes on Google Cloud using Google Kubernetes Engine.


    • Anurag tiwari: "Just started the course but i can already tell that this a good one Ali explains all the concepts like out box ,saga pattern so well. I would highly recommend this course for anyone who wants to take their knowledge about microservices to the next level using different patterns like hexagonal ,saga pattern. I would also recommend this course for beginners as youll learn a ton of stuff regarding microservices and patterns to create agile services as this course is very hands on"

    I have followed the same clean & hexagonal architectures and domain driven design principles in the implementation of each microservice. If you feel like you want to skip some repeating parts, you may download the source code that I provide in the first lecture of each section starting from section-3 or using the github links that I provided in the course resources. You can then use the provided source code to continue with the section.


    • Narendra Kumar A: "Its awesome course, I have ever come across in Udemy explaining the DDD, Clean architecture and usage of patterns concepts so cleanly."

    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.


    • Jason: "This course is one of the best I ever had. There are many microsevices courses on Udemy, and most of them are like something that manufactured in the same factory. They all used the same framework and followed the same steps to teach microservices. They never talked about the important concepts behind the microservice. I felt like they just wanted to show off the latest version of frameworks and finish the long courses with them quickly and get paid. The impression after I watched first this lesson was amazing. He actually starts the project with the bare bone java plain object. It was like I'm flying with feather, not fully armed with numerous buzzword frameworks. It might be frustrated at first if you are really new to microservices and never heard of concepts like DDD before. But I'm pretty sure this is one of the courses that make you a "better" developer."

    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.

    Who this course is for:

    • Developers and Architects want to see a practical approach to Clean and Hexagonal Architecture with Domain Driven Design
    • Developers and Architects want to learn architectural patterns, such as SAGA, Outbox and CQRS
    • Developers want to learn deploying a microservices architecture to Cloud using Google Kubernetes Engine
    • One that likes to learn with a hands-on approach

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Ali Gelenler
    Ali Gelenler
    Instructor's Courses
    Ali Gelenler, the founder of EA Algorithm, has been in the IT industry for 20 years, with hands-on experience in Software Engineer, Software Architect and Tech Lead positions. He holds a Master's degree in Computer Engineering and is highly experienced in Backend technologies in distributed environments, Performance optimizations, Java, Spring, Spring boot, Microservices, Architectural patterns, Web security, Database technologies, Cloud-based solutions, Kafka and Elasticsearch.He is currently working actively as a Senior Engineer and Technical Leader and has experience in the financial technology sector, content management sector, defense industry and government projects.Ali also has a passion for teaching and mentoring and worked as an instructor in individual and group classes in various IT fields.
    EA Algorithm
    EA Algorithm
    Instructor's Courses
    EA Algorithm is an IT training and consulting company specialized in teaching on distributed complex systems with a practical and easy-to-understand approach.We specialized with backend technologies on distributed environments and have an expertise on performance optimizations, Java, Spring, Spring boot, Microservices, Architectural patterns, Web security, Database technologies, Cloud based solutions, Kafka and Elasticsearch.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 106
    • duration 17:45:46
    • English subtitles has
    • Release Date 2024/02/14