Saggu
Saggu
  • Видео 54
  • Просмотров 354 230
NATS with Apache Camel | Choreography design pattern| Event Driven Service
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 systems. It ensures fast and reliable message delivery with minimal overhead, making it a popular choice for modern cloud applications.
NATS can be considered a message broker. It allows communication between different components of a distributed system by routing messages between publishers and subscri...
Просмотров: 456

Видео

ToxiProxy Tutorial | Chaos Testing Part-2
Просмотров 5988 месяцев назад
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,2 тыс.8 месяцев назад
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 тыс.10 месяцев назад
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,1 тыс.10 месяцев назад
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,3 тыс.Год назад
How to build Apache Camel Standalone applications without Spring framework
What is Consumer Driven Contract (CDC)? How to use Spring Cloud Contract Testing?
Просмотров 2,9 тыс.Год назад
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,1 тыс.Год назад
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,3 тыс.Год назад
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 тыс.Год назад
"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,1 тыс.Год назад
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 тыс.Год назад
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
Просмотров 721Год назад
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,1 тыс.Год назад
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 тыс.Год назад
What is a Circuit Breaker design pattern and how to implement Circuit Breaker design pattern using Apache Camel.
Sring Boot Admin - A Complete Hands-On Tutorial
Просмотров 9 тыс.Год назад
Sring Boot Admin - A Complete Hands-On Tutorial
How to use Apache Camel Bean Component? Full hands on workshop.
Просмотров 3,2 тыс.Год назад
How to use Apache Camel Bean Component? Full hands on workshop.
Choreography Design Pattern | Distributed Transaction Management| MicroService Design Patterns
Просмотров 8 тыс.2 года назад
Choreography Design Pattern | Distributed Transaction Management| MicroService Design Patterns
Orchestration Design Pattern | Distributed Transaction Management| MicroService Design Patterns
Просмотров 19 тыс.2 года назад
Orchestration Design Pattern | Distributed Transaction Management| MicroService Design Patterns
SAGA Distributed Transactions Pattern using Apache Camel | Microservices Design Pattern
Просмотров 4,3 тыс.2 года назад
SAGA Distributed Transactions Pattern using Apache Camel | Microservices Design Pattern
How to provide typeahead support for SpringBoot Configuration properties?
Просмотров 4812 года назад
How to provide typeahead support for SpringBoot Configuration properties?
How to automate database migration? Database migration using Flyway Tutorial.
Просмотров 8 тыс.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,4 тыс.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?
Просмотров 5 тыс.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
Просмотров 22 тыс.2 года назад
Apache Camel Tutorial for Beginners
How to use Spring Cache with Hazelcast?
Просмотров 16 тыс.2 года назад
How to use Spring Cache with Hazelcast?
How to automate Integration Testing for a SpringBoot and Camel application? What is TestContainers?
Просмотров 3,2 тыс.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?
How to implement Content based Routing EIP in Apache Camel ?
Просмотров 3,2 тыс.2 года назад
How to implement Content based Routing EIP in Apache Camel ?

Комментарии

  • @hemantpanchal8067
    @hemantpanchal8067 4 дня назад

    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 5 часов назад

      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.

  • @jasongoossens
    @jasongoossens 6 дней назад

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

  • @loyalbaptist4132
    @loyalbaptist4132 6 дней назад

    Thanks a lot for this video.

  • @ramanareddy-q9t
    @ramanareddy-q9t 7 дней назад

    thanks for nice content Saggu

  • @sks4674
    @sks4674 8 дней назад

    Hi can you please upload video for xml route configuration

  • @codecoder005
    @codecoder005 13 дней назад

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

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

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

  • @LuisGomez-ft9pr
    @LuisGomez-ft9pr 15 дней назад

    ur the freaking GOAT my guy

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

    Great Explanation. Thanks for such an informative video.

  • @gunapmk1979
    @gunapmk1979 18 дней назад

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

    • @SagguUK
      @SagguUK 13 дней назад

      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 20 дней назад

    Can you create more videos on this please

    • @SagguUK
      @SagguUK 13 дней назад

      Will try. Thanks

  • @ermanojmeghwal
    @ermanojmeghwal 21 день назад

    Nice..

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

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

    • @SagguUK
      @SagguUK 13 дней назад

      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 26 дней назад

    degrading service by reducing instances is also part of this ?

    • @SagguUK
      @SagguUK 13 дней назад

      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 26 дней назад

    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 26 дней назад

    Very useful. Thanks bro!

  • @vishnudeo1981
    @vishnudeo1981 26 дней назад

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

  • @rohanyadav7327
    @rohanyadav7327 28 дней назад

    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 13 дней назад

      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 13 дней назад

      @@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 13 дней назад

      @@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 Месяц назад

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

    • @SagguUK
      @SagguUK 13 дней назад

      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 Месяц назад

    good teaching and content

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

    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 13 дней назад

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

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

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

    • @SagguUK
      @SagguUK 13 дней назад

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

    • @Sebastian-zs8cp
      @Sebastian-zs8cp 13 дней назад

      @@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 Месяц назад

    Thannnnnnnnnnnnnnnnnnnnnnnnnk You

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

    share github code

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

    Excellent

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

    Hi Saggu, I like your videos. Tell me how can we orchestrate execution of multiple RouteBuilders in certain order or let say if one RoutBuilder fails or message is not as expected we jump over some RourBuilders?

    • @SagguUK
      @SagguUK 13 дней назад

      You can do something like this: public class FirstRouteBuilder extends RouteBuilder { @Override public void configure() { from("direct:start") .to("direct:route1") .to("direct:route2"); } } public class SecondRouteBuilder extends RouteBuilder { @Override public void configure() { from("direct:route1") .log("Processing in Route 1") .to("direct:route3"); } } public class ThirdRouteBuilder extends RouteBuilder { @Override public void configure() { from("direct:route2") .log("Processing in Route 2") .to("direct:route4"); } } And on top of that you can add exception handling as per your needs.

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

    great video, expecting more videos like this. Thank you so much

  • @user-bb4xt1ku2u
    @user-bb4xt1ku2u Месяц назад

    Great information, if possible can you make a route on TCP protocol, like from(tcp:..).to(http:...)

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

    Im very impressive with the power that JBang gives me to deal with my routes, its mindblowing! Thx Claus and Saggu!

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

    Hi Saggu, I saw many videos which you have explained. It's good. I was working with you in Master Card from Apexon.

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

    48 C for New Delhi... I cannot even imagine how hot it is

  • @DeepRaj-pj7nn
    @DeepRaj-pj7nn 2 месяца назад

    Hi @Saggu. Nice explanation. You have covered the transactions in a single microservice. How can we achieve this across microservices? Also for InMemorySagaService you did, Could you please elaborate on LRA Saga Service or have some code repo to share. I woudl appreciate your reply on this. Thanks.

  • @Maxim-B
    @Maxim-B 2 месяца назад

    In Camel 4.4. spring-rabbitmq component producer .to(spring-rabbitmq:) will not automatically create queue and binding regarless of autoDeclare settings. Either create it manually in UI or create then in CamelConfiguration

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

    Great Tutorial

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

    Good one keep it up

  • @bCool-sl5cy
    @bCool-sl5cy 2 месяца назад

    Hello Saggu, In the new version of Apache Camel, a very important until here lacking feature has been introduced: variables. But working with an old version: do you agree with me, that the registry may be used to save a variable? Let's suppose that we have a parameteised route:("CTL-ROUTE-%S") which starts an equivalent, equally parameteised, route: ("DATA-ROUTE-%S") In the logs we will get for example: CTL-ROUTE-CUSTOMER: started CTL-ROUTE-ORDER: started DATA-ROUTE-CUSTOMER: disabled DATA-ROUTE-ORDER: disabled and than the CTL-ROUTE-CUSTOMER find out that there is 1200 rows in the table CUSTOMER and therefore starts the equivalent DATA-ROUTE-CUSTOMER The latter route will than poll the 1200 rows from the CUSTOMER table in 100 blocks maps them and send them to a predefined jms-queue. Ist it possible to use here a variable customerBlockNumber with an initial value of 1 and to save it in the registry? This variable will be incremented by each iteration, sothat we can log the following messages: .log("Processing Block-Nr. {}", customerBlockNumber) // this is pseudo-code.

  • @realknowledge-23
    @realknowledge-23 3 месяца назад

    very well explained thanks a lot and all the very best sir.

  • @realknowledge-23
    @realknowledge-23 3 месяца назад

    In very short period of time you explained each and every concept very well thanks a lot sir.

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

    in the failed event, again event will be published to same topic or different topic, can you pls clarify.

    • @SagguUK
      @SagguUK 13 дней назад

      It totally depends on your business logic. You can publish on the same topic or different one.

  • @AshishThakre-xx6mc
    @AshishThakre-xx6mc 3 месяца назад

    Hi, Can I get your email address Have a few questions, on liquibase.

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

    awsome thanks alot

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

    could you please share the code

    • @SagguUK
      @SagguUK 13 дней назад

      github.com/jssaggu/springboot-tutorial

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

    This is a great explanation !!!

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

    It's pronounced "S'k'eduler" not SHEduler

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

      In the US but It’s latter in British English :)

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

    very nicely explained as usual without unnecessary jiggory pockerry!! this is just about sufficient to understand the logic and apply the knowledge in real life coding. Pls keep up the good work. 👍

  • @user-pi8ri1nk5t
    @user-pi8ri1nk5t 4 месяца назад

    fantastic sir.

  • @user-mj1ej7vq6b
    @user-mj1ej7vq6b 4 месяца назад

    That was a really good video. Everything was like you need just this video to get things clear...

  • @Vedic-knowlege-seeker
    @Vedic-knowlege-seeker 4 месяца назад

    Thanks a lot, explained very well, subscribed :)

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

    Very well explained, thanks for your efforts

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

    Wonderful explanation.