Saggu
Saggu
  • Видео 55
  • Просмотров 377 133
Event Driven Design Vs Event Sourcing | EDD vs ES
What is Event-Driven Design (EDD)?
A design approach where systems react to events
Example: Doorbell
What is Event Sourcing?
Event Sourcing is a powerful design pattern that allows us to track every change in our system as an immutable series of events, giving us full traceability, the ability to rebuild past states, and ensuring nothing is ever lost or overwritten. Event Sourcing stores all events as the source of truth.
Example
Bank account transactions where each deposit/withdrawal is stored as an event
Просмотров: 251

Видео

NATS with Apache Camel | Choreography design pattern| Event Driven Service
Просмотров 6156 месяцев назад
Choreography design pattern| Event Driven Service using NATS with Apache Camel. NATS is a high-performance messaging system designed for cloud-native applications. It provides lightweight communication with support for publish-subscribe, request-reply, and queuing patterns. NATS.io boasts simplicity, scalability, and resilience, making it ideal for microservices architectures and distributed sy...
ToxiProxy Tutorial | Chaos Testing Part-2
Просмотров 78811 месяцев назад
In the previous session we started discussing what Chaos Testing is. See here: ruclips.net/video/lvI66klTusQ/видео.html In today’s session, we'll be exploring Toxiproxy, a powerful framework designed to simulate various network conditions.Tailored for testing, CI, and development environments, Toxiproxy excels in providing deterministic tampering with connections. But that's not all-it also off...
What is Chaos Testing or Chaos Engineering?
Просмотров 1,6 тыс.11 месяцев назад
A predictable system is a myth. System failures are inevitable but you can be prepared for failures by building resilient systems. We will explore chaos engineering as a way to do exactly that. Chaos engineering or chaos testing is a Site Reliability Engineering (SRE) technique that simulates unexpected system failures to test a system's behavior and recovery plan. Based on what is learned from...
Spring Scheduler Tutorial
Просмотров 3,7 тыс.Год назад
In Spring Framework, a scheduler is a mechanism that allows you to schedule and execute tasks at specific times or with a certain frequency. The Spring framework provides a scheduling feature through the TaskScheduler and @Scheduled annotation, which are used for scheduling tasks, often known as jobs or cron jobs.
Camel JBang - Run Camel as Script using JBang
Просмотров 1,3 тыс.Год назад
What is Camel JBang? A JBang-based Camel app for easily running Camel routes camel.apache.org/manual/camel-jbang.html Thanks @ClausIbsen #JBang #camel #apachecamel #Camel-JBang
How to build Apache Camel Standalone applications without Spring framework
Просмотров 1,4 тыс.Год назад
How to build Apache Camel Standalone applications without Spring framework
What is Consumer Driven Contract (CDC)? How to use Spring Cloud Contract Testing?
Просмотров 3,6 тыс.Год назад
What is Consumer Driven Contracts (CDC)? How to use Spring Contract Testing? Agenda: 1. What is CDC or Consumer Driven Contract? 2. Why do I need this? 3. How to implement? 4. Workshop Code avaiable at: github.com/jssaggu/consumer-driven-contract
How to Debug Apache Camel Routes?
Просмотров 3,5 тыс.Год назад
How to Debug Apache Camel Routes? Code debugging is the process of finding and fixing errors in computer programs. When you write code, you may encounter problems that prevent your program from working correctly. Debugging helps you identify and resolve these issues so that your program functions as intended. To debug code, you follow these steps: Reproduce the problem: Try to recreate the issu...
Spring Shell: A Comprehensive Hands-On Tutorial
Просмотров 1,5 тыс.Год назад
In this tutorial, you will learn everything you need to know about Spring Shell, a powerful framework for building command-line applications. We'll cover the basics of setting up a Spring Shell project and walk you through creating your own custom commands, as well as using built-in commands and plugins. With a fully hands-on approach, you'll get to follow along with step-by-step instructions a...
Intercept Design Pattern using Apache Camel
Просмотров 1,1 тыс.Год назад
"intercept" refers to a feature called Intercepting Message Processors (Interceptors). Interceptors in Apache Camel allow you to intercept and modify message exchanges as they pass through Camel routes. They are used to perform cross-cutting concerns, such as logging, monitoring, security, and transformation, without modifying the main logic of the routes. github.com/jssaggu/camel-tutorial/
Enterprise Integration Patterns (EIPs) | Apache Camel
Просмотров 2,4 тыс.Год назад
Book: amzn.to/3njcibr Enterprise Integration Patterns (EIP) are a set of commonly used design patterns that help integrate different enterprise systems in a reliable and scalable way. EIPs provide a common language for developers to communicate and solve integration challenges, such as messaging, routing, and transformation. Using EIPs can help developers build more robust and flexible integrat...
Message Bus EIP with Apache Camel
Просмотров 1,1 тыс.Год назад
Designing Enterprise Integration Patterns with Apache Camel: Building a Message Bus for Efficient Communication. A message bus is a communication system that lets software components exchange messages with each other. It's like a central hub for sending and receiving messages between different systems, making integration easier. It allows applications to send messages without knowing the exact ...
Claim Check EIP Design Pattern using Apache Camel
Просмотров 800Год назад
If you're building distributed systems, you're likely to encounter situations where messages are too large to be transmitted efficiently. One solution to this problem is the Claim Check pattern from the Enterprise Integration Patterns (EIP) catalog. This pattern allows you to replace the message content with a unique key, known as a claim check. The claim check can be used to retrieve the origi...
How to protect your application from overloading? Use Throttler EIP and build it using Apache Camel.
Просмотров 1,2 тыс.Год назад
Highly resilient applications must be able to cope with increases in request volume. To achieve this, load balancers are typically used to protect applications from being overwhelmed, but it is also important to have application-level controls. One way to prevent overloading a specific endpoint or violating an SLA with an external service is by implementing a throttler. The throttler regulates ...
Circuit Breaker Design Pattern using Apache Camel
Просмотров 3,3 тыс.Год назад
Circuit Breaker Design Pattern using Apache Camel
Sring Boot Admin - A Complete Hands-On Tutorial
Просмотров 10 тыс.Год назад
Sring Boot Admin - A Complete Hands-On Tutorial
How to use Apache Camel Bean Component? Full hands on workshop.
Просмотров 3,5 тыс.2 года назад
How to use Apache Camel Bean Component? Full hands on workshop.
Choreography Design Pattern | Distributed Transaction Management| MicroService Design Patterns
Просмотров 9 тыс.2 года назад
Choreography Design Pattern | Distributed Transaction Management| MicroService Design Patterns
Orchestration Design Pattern | Distributed Transaction Management| MicroService Design Patterns
Просмотров 22 тыс.2 года назад
Orchestration Design Pattern | Distributed Transaction Management| MicroService Design Patterns
SAGA Distributed Transactions Pattern using Apache Camel | Microservices Design Pattern
Просмотров 4,5 тыс.2 года назад
SAGA Distributed Transactions Pattern using Apache Camel | Microservices Design Pattern
How to provide typeahead support for SpringBoot Configuration properties?
Просмотров 5092 года назад
How to provide typeahead support for SpringBoot Configuration properties?
How to automate database migration? Database migration using Flyway Tutorial.
Просмотров 9 тыс.2 года назад
How to automate database migration? Database migration using Flyway Tutorial.
How to use Splitter Enterprise Integration Pattern (Split EIP) with Aggregator using Apache Camel?
Просмотров 3,6 тыс.2 года назад
How to use Splitter Enterprise Integration Pattern (Split EIP) with Aggregator using Apache Camel?
How do document Apache Camel Rest Endpoints using OpenApi or Swagger specs?
Просмотров 6 тыс.2 года назад
How do document Apache Camel Rest Endpoints using OpenApi or Swagger specs?
What is Apache Camel Processor and how to use it?
Просмотров 8 тыс.2 года назад
What is Apache Camel Processor and how to use it?
Apache Camel Tutorial for Beginners
Просмотров 23 тыс.2 года назад
Apache Camel Tutorial for Beginners
How to use Spring Cache with Hazelcast?
Просмотров 18 тыс.2 года назад
How to use Spring Cache with Hazelcast?
How to automate Integration Testing for a SpringBoot and Camel application? What is TestContainers?
Просмотров 3,3 тыс.2 года назад
How to automate Integration Testing for a SpringBoot and Camel application? What is TestContainers?
How to use Camel JMS and connect to ActiveMQ?
Просмотров 6 тыс.2 года назад
How to use Camel JMS and connect to ActiveMQ?

Комментарии

  • @kasandrop
    @kasandrop День назад

    How many adverts did you set there?

  • @OmPrakashKumar-fu3ic
    @OmPrakashKumar-fu3ic 8 дней назад

    Why copy and paste, why not automatically generate documentation

  • @Techcertified
    @Techcertified 15 дней назад

    Video is good , pls don't use BG music while explaining. Thanks!!!!

  • @wantedlepota9960
    @wantedlepota9960 16 дней назад

    great video explaining default caching and then Redis cache. Also liked the fact that you use OkHttp 😃

  • @sleeksilk497
    @sleeksilk497 20 дней назад

    Excellent.

  • @Optimusjf
    @Optimusjf 24 дня назад

    Excelent content. Is very good.

  • @mijimelon
    @mijimelon 24 дня назад

    Thanks sir, this is great!

  • @ArjayAds
    @ArjayAds Месяц назад

    How to manually execute shell command if app (web) deployed in the cloud?

  • @sudhanshumishra2618
    @sudhanshumishra2618 Месяц назад

    Anything for quarkus camel? This is in spring boot

  • @dkpatil64
    @dkpatil64 Месяц назад

    Hello Saggu, Am currently using camel 2.22 pretty old v ‘ facing issues with connection close for one of camel route which calls http external api that responds with 206 partial content status code , can you please share some knowledge on how to close open http connection. Due to 206 status. Ode may be camel is not able to close up connection while piles open http connection and causes connection pool exhaustion

  • @aneerimmco
    @aneerimmco Месяц назад

    thank you

  • @jasongoossens
    @jasongoossens Месяц назад

    I had to implement aggregation, and spent an afternoon trying it myself - this made it clear in 36mins!! Great tutorial!! I should always check your Camel playlist before getting started 😅

  • @NeerajKumar-br2hm
    @NeerajKumar-br2hm Месяц назад

    Nice explain

  • @aneerimmco
    @aneerimmco Месяц назад

    Thank you, was informative :)

  • @vishnumlasia
    @vishnumlasia Месяц назад

    Quite impressive explaination clear and crisp !!!

  • @aneerpa8384
    @aneerpa8384 Месяц назад

    Very informative. Thanks

  • @simranjeetsingh9026
    @simranjeetsingh9026 Месяц назад

    Amazing explanation! Keep going!!

  • @geraldinec-c2w
    @geraldinec-c2w Месяц назад

    nice content, thanks you! However, i got problem with the rabbitmq, there is no problem with the from part, i.e. the queue acts as consumer which can be auto-declared, however it does not happen to the "to" endpoint (as a producer in rabbitmq). The "out" queue can never be created automatically. I have to manually create the queue and bind to the exchange to make it work. i tried use your toF as well, no luck. btw, i use camel 4.6. spring boot 3.2.10. i just guess the auto declare does not work in this version, maybe need to call the rabbitmq's administration tools to create queue and bing to exchange? could shed some lights on this problem? many thanx

  • @rajaramwagh
    @rajaramwagh Месяц назад

    Brilliant thank you

  • @kmr512
    @kmr512 2 месяца назад

    Excellent description with examples!

  • @girishjagtap5892
    @girishjagtap5892 2 месяца назад

    Way you explain is very simple ❤

  • @yuvigowtham8086
    @yuvigowtham8086 2 месяца назад

    Hi . My thread printing 2 times in log . What to do?

  • @AnkitLadha-fo8em
    @AnkitLadha-fo8em 2 месяца назад

    This Spring Boot Playlist has some amazing stuff which are not present anywhere. I am really hooked to this and will watch all your videos surely.

  • @Sandy-oc2ic
    @Sandy-oc2ic 2 месяца назад

    hi Sir very helpful video, currently stuck on a test case for a route with saga propagation set to .propagation(SagaPropagation.MANDATORY) and i couldn't find your test case for sagaRoute, is there any way you could help me out?

  • @alexanderausweger6512
    @alexanderausweger6512 2 месяца назад

    Thank you for your insightful presentation :)

  • @priteshkumar1080
    @priteshkumar1080 2 месяца назад

    lovely stuff. Please keep making more videos sir. Your way of teaching really thorough and simple. Please continue the good work..

  • @Arahel93
    @Arahel93 2 месяца назад

    Does it ever happened to you (or anyone else reading this comment), the necessity to debug inside a route containing a .split() block? Because I'm noticing I am not able in any way to get the debugger of my IntelliJ stop inside a process block which is placed inside that said split block. I am not even able to print a system out or a log and this is really weird because I am certain the code flow leading to an exception is happening in that point... Anyway thank u for the other useful tips

  • @hemantpanchal8067
    @hemantpanchal8067 2 месяца назад

    I want to understand below points, 1. Should functional microservice communicate to orchestrator? 2. Should orchestrator microservice communicate to functional microservice? 3. or both the ways? I want to build workflow system, where on form submission (available at stage 1) should start user's workflow journey. But I'm not sure where this initiation will happen.

    • @SagguUK
      @SagguUK 2 месяца назад

      In this design pattern, functional microservices are not aware of orchestrator. They just receive requests and act on them. It's the orchestrator's responsibility to control the workflow i.e. talk to various downstream services.

    • @hemantpanchal8067
      @hemantpanchal8067 2 месяца назад

      @@SagguUK Ok understood. Thank you :)

    • @hemantpanchal8067
      @hemantpanchal8067 2 месяца назад

      @@SagguUK So, my frontend will always call functional microservice endpoint and not orchestrator endpoint? Example, on saving lead form, frontend will call functional microservice which internally will call orchestration endpoint to check if correct stage is called and then it will save data for lead. please help me to understand this.

  • @jasongoossens
    @jasongoossens 2 месяца назад

    This playlist is a great help in learning Apache Camel, especially since there aren't that many decent examples online! Thank you!

  • @loyalbaptist4132
    @loyalbaptist4132 2 месяца назад

    Thanks a lot for this video.

  • @ramanareddy-q9t
    @ramanareddy-q9t 2 месяца назад

    thanks for nice content Saggu

  • @sks4674
    @sks4674 2 месяца назад

    Hi can you please upload video for xml route configuration

  • @codecoder005
    @codecoder005 3 месяца назад

    It's really confusing at the beginning. But you made it really really simple with the example. Good work Thanks you. 🎉❤

  • @yusufislamdemir8806
    @yusufislamdemir8806 3 месяца назад

    Thanks for video , it's simple and very good explanation

  • @LuisGomez-ft9pr
    @LuisGomez-ft9pr 3 месяца назад

    ur the freaking GOAT my guy

  • @prateekarora367
    @prateekarora367 3 месяца назад

    Great Explanation. Thanks for such an informative video.

  • @gunapmk1979
    @gunapmk1979 3 месяца назад

    Hi could you explain what is the difference between from and fromF?

    • @SagguUK
      @SagguUK 3 месяца назад

      This method is used when you want to construct the URI using a formatted string (similar to String.format() in Java). Example: fromF("file:%s?fileName=%s", "inputFolder", "test.txt") .to("log:received");

  • @JVM-ok5eg
    @JVM-ok5eg 3 месяца назад

    Can you create more videos on this please

    • @SagguUK
      @SagguUK 3 месяца назад

      Will try. Thanks

  • @ermanojmeghwal
    @ermanojmeghwal 3 месяца назад

    Nice..

  • @javad4282
    @javad4282 3 месяца назад

    very good video how to persistent current state in seda on reset camel enging seda continue from last state?

    • @SagguUK
      @SagguUK 3 месяца назад

      This component does not implement any kind of persistence or recovery if the JVM terminates while messages are yet to be processed. If you need persistence, reliability or distributed SEDA, try using JMS.

  • @manmohanmundhraa3087
    @manmohanmundhraa3087 3 месяца назад

    degrading service by reducing instances is also part of this ?

    • @SagguUK
      @SagguUK 3 месяца назад

      This is fair assumotion and we can consider service degradation when some of the load balanced instances are gone out of service.

  • @test-rj2vl
    @test-rj2vl 3 месяца назад

    Tnx. Didn't know I can use .process() trick. There is fromEndpoint but looks like fromEndpoint itself no longer has fromEndpoint field? So it route a calls route b and route b calls route c and I use this .process(p -> ... ) in route c, then I am not able to trace back to route a in debugger or am I missing something?

  • @thenet579
    @thenet579 3 месяца назад

    Very useful. Thanks bro!

  • @vishnudeo1981
    @vishnudeo1981 3 месяца назад

    Hi saggu ..... excellent tutorial.... thoroughly enjoyed it....your teaching style is quite nice....you should make more videos.

  • @rohanyadav7327
    @rohanyadav7327 3 месяца назад

    Hi Jasvinder, we are using scheduler to perform health checks on external api - 1) is this a good idea to use scheduler to check if any website is up ? How long it is going to run then ? 2) is there any way we can stop the scheduler. Because our scheduler will be running every 10 secs Please answer. Thanks

    • @SagguUK
      @SagguUK 3 месяца назад

      Hi, proactively checking the health of an external service using a scheduler is a good practice. In Spring, you can stop schedulers programmatically at runtime if needed. For more details, you can refer to the official Spring scheduler documentation.

    • @rohanyadav7327
      @rohanyadav7327 3 месяца назад

      @@SagguUK hi ... did schedulers running in background make application slow? I think if it runs infinitely that will be very bad for your application. I don't find running schedulers in background for a health check is a good idea. What is your opinion?

    • @SagguUK
      @SagguUK 3 месяца назад

      @@rohanyadav7327 Dear Rohan, Schedulers themselves are lightweight threads, so their impact on performance is minimal. In fact, there are always multiple schedulers running in the background, often without us even noticing. The key factor that determines performance is the business logic you've implemented within the scheduler. If that logic is efficient, the scheduler should run smoothly without any issues.

  • @gunapmk1979
    @gunapmk1979 3 месяца назад

    Hi Saggu, can we use spring REST instead of camel REST method in springboot camel project?

    • @SagguUK
      @SagguUK 3 месяца назад

      You can definitely use Spring REST alongside Camel in a Spring Boot project. The choice depends on the complexity of your REST endpoints and how much integration logic is needed. Use Spring REST for simple, straightforward APIs, and Camel REST DSL for more complex routing and integration tasks.

  • @softwareengineer5893
    @softwareengineer5893 3 месяца назад

    good teaching and content

  • @ScoobyDoo-ct9nd
    @ScoobyDoo-ct9nd 3 месяца назад

    it's really great video but i did not see that any config change so how spring boot is connecting to redis without specifying external redis which is running on docker, u need to sepecify url or some configuration right?

    • @SagguUK
      @SagguUK 3 месяца назад

      It's using default values. You can always override values in the properites file.

  • @Sebastian-zs8cp
    @Sebastian-zs8cp 4 месяца назад

    hi, is it possible to fulfill with dummy data only on dev and not for prod?

    • @SagguUK
      @SagguUK 3 месяца назад

      I have not tried but you might be able to use profiles.

    • @Sebastian-zs8cp
      @Sebastian-zs8cp 3 месяца назад

      @@SagguUK ok, I need generals v1_.... and the dummy date in spring boot dev profile. It is possible to run general's config and dev parallel

  • @yousfialaa7043
    @yousfialaa7043 4 месяца назад

    Thannnnnnnnnnnnnnnnnnnnnnnnnk You