Client side Load Balancer using Spring Cloud Ribbon | Spring Boot

Поділитися
Вставка
  • Опубліковано 5 жов 2024
  • This video explain you what is load balancing and how to perform load balancing using spring cloud ribbon
    GitHub:
    github.com/Jav...
    Blogs:
    javagyanmantra...
    Facebook Group :
    / 919464521471923
    Like & Subscribe

КОМЕНТАРІ • 108

  • @rivnos9431
    @rivnos9431 3 роки тому +2

    I have seen most of video of microservices and the way you explain is quite easy to understand and it added more flavour by doing in practical.. Awesome.. 👍👍👌👌

  • @sekhar14301
    @sekhar14301 Рік тому +1

    I saw multiple videos form others.. every one explained with PPT or diagrammatic. Not understand much... #When I watched this video 💯 got calrity on loadbaching... thanks for sharing with us ❤

  • @ankitjain9958
    @ankitjain9958 3 роки тому +2

    I appreciate all your efforts ..thank you man 👍
    On fun note your voice similar to bjp spoke person shahnawaz hussain

    • @Javatechie
      @Javatechie  3 роки тому

      👍🏻👍🏻👍🏻😂😂

  • @samarthurs8000
    @samarthurs8000 4 роки тому +2

    Very nicely explained. Thank you very much. This video deserves much more Views and Likes. Keep up the good work!

    • @Javatechie
      @Javatechie  4 роки тому

      Thanks Samarth 😁 , glad to hear this from you 👍

  • @thirue8237
    @thirue8237 3 роки тому +3

    Excellent explanation ,Appreciate your patience!!

  • @TechieTaught
    @TechieTaught 3 роки тому +1

    appreciate the approach to explain such beautiful concept. Awesome

  • @viveksagar33333
    @viveksagar33333 4 роки тому +1

    Sir, you deserve more subscribers.. Thanks for the tutorial

  • @subinsajin
    @subinsajin 5 років тому +5

    Thank you so much for the informative video!!!
    In the last part of the video, you mentioned if we use eureka we can do load balancing by adding @LoadBalanced to restTemplate method, without using RibbonConfiguration. So why do we really need Spring Cloud Ribbon, if we can just do with Eureka?

    • @Javatechie
      @Javatechie  5 років тому +5

      Hi Subin, if you are directly using eureka then ribbon implementation is inbuilt in nature all required configuration stuff already preconfigured in eureka

    • @rexsam3134
      @rexsam3134 2 роки тому

      @@Javatechie then why did you set Eureka enabled to false in yml file?

    • @vikrantmanekar4817
      @vikrantmanekar4817 2 роки тому

      @@rexsam3134 I am also having same question

  • @amitgarg8937
    @amitgarg8937 3 роки тому +1

    Hi @Java Techie, I just tried this implementation and it worked after remove ribbonRule() method from configuration otherwise gave error no chatbook instances are running.

  • @chaitaligaikar621
    @chaitaligaikar621 3 роки тому +1

    The concept of load balancing is very well explained in the video. Can you suggest how to implement the same for POST, DELETE. Also in real time application there can be n number of end points so how to handle those?

    • @puranpush
      @puranpush 2 роки тому

      Ya pls answer for this @java techie.. I too have the same question

  • @amitpatil746
    @amitpatil746 4 роки тому +1

    Very nice explanation. It was very helpful. Keep this nice work going.

  • @AhmedKhaled-he9mf
    @AhmedKhaled-he9mf 2 роки тому +1

    Thanks very very much for very nice work from explain and source code.
    Thanks very much

  • @santhoshg8528
    @santhoshg8528 4 роки тому +1

    the best explanation i ever i had. kudos to java techie

  • @MURALISAI
    @MURALISAI 4 роки тому +2

    Nice, detailed explanation! Thank you, Sir.

  • @palashkhatri7820
    @palashkhatri7820 5 років тому +1

    Beautifully Explained ! Thanks a ton @Java Techie

  • @Life-GiftOfGod
    @Life-GiftOfGod 2 роки тому +2

    tooooooo good :) thanks a lot!!!

  • @bullsbearsfight
    @bullsbearsfight 2 роки тому +1

    in all your tutorial this was best :)

  • @steavejacks6788
    @steavejacks6788 3 роки тому +1

    Regarding IPing and IRule Beans:
    you passed an argument IClientConfig which you did not use within Bean method.
    so is it necessary to pass it? please help me understand I'm new to Spring Boot
    BTW your videos are extremely helpful. Thank you so much.

  • @prometheusli101
    @prometheusli101 3 роки тому +1

    why we need to do this?in this case,i think we may had twice request,first request to ribbon-server,second request is that ribbon-server to final-sever ,and then,final-sever response to ribbon-server,ribbon-sever response to client?is this slow down the web request speed?twice request ,double traffic?i was confused and i thought this is not make sense

  • @sagar1689
    @sagar1689 3 роки тому +1

    Very nice explanation.. thanks

  • @Mohamed-uf5jh
    @Mohamed-uf5jh 4 роки тому +1

    Very nicely explained. Thank you very much,good job !

  • @akashroy1618
    @akashroy1618 3 роки тому +1

    awesome,
    keep that coming.

  • @anilkumarsharma6689
    @anilkumarsharma6689 Рік тому

    Hello sir , can you make a completed video how to deploy micro-service on production server

  • @vitaliibrezhnev6245
    @vitaliibrezhnev6245 Рік тому +1

    thank you, i understand all what i need

  • @errajesh29
    @errajesh29 5 років тому +1

    very good , in sort explained big concept.

  • @popatpopatpopat123
    @popatpopatpopat123 4 роки тому

    What’s the difference between eureka service discovery vs Ribbon discovery? which one should be used in production env?

  • @jewelchowdhury9752
    @jewelchowdhury9752 3 роки тому

    First of all, thank you very much, sir. I have a question. I want to build a micro-service based e-commerce web application. suppose, I have some services, like customer service, product service(only contain Title and description and the image & price fetches IMG & price from another IMG service & price service), order service, and cart service. In my product service, It is possible when I have static data. and I have tried it. But my question is how can I add a new product record (with all fields) from the admin service(admin panel) into the multiple services like IMG service, product service(Title and description), price service? Please make a video on how to add records into multiple services at a time?

  • @valorant563
    @valorant563 Рік тому +1

    Can't find the ribbon dependency to add. Should I change the java version or spring version.

  • @Dyslexic_Neuron
    @Dyslexic_Neuron 5 років тому +1

    Nice vdo man !! Keep up the good work
    Plz make a video on hysterix !

    • @Javatechie
      @Javatechie  5 років тому

      Thanks Deep , hey already I uploaded video related hystrix please Go through below link
      ua-cam.com/video/2x9G8daUM8A/v-deo.html
      ua-cam.com/video/A2IhEwbniLI/v-deo.html

  • @hemantanahak5674
    @hemantanahak5674 2 роки тому +1

    PLease share us the updated video, for client side load balancing example

  • @ashwinkumar504
    @ashwinkumar504 4 роки тому +1

    Nice job , thanks and keep it up .............
    You have suggested some changes like "template.getForObject("chatbook/chat" , String.class);" ......
    Some guy online suggested remove @Bean annotation for IRule in config so i did and it worked .... of course dont know why :-)
    RibbonConfiguration.java
    .........
    // @Bean
    -------------->Remove annotation
    public IRule rule(IClientConfig iClientConfig){
    return new AvailabilityFilteringRule();
    }
    .........
    Hope it helps ....

    • @Javatechie
      @Javatechie  4 роки тому +1

      In one of the comment I shared alternative solution please have a look

  • @democratcobra
    @democratcobra 2 роки тому +1

    greate job bro !!

  • @kartheekpatnaik8644
    @kartheekpatnaik8644 2 роки тому +1

    Crispy bro

  • @muralijava552
    @muralijava552 4 місяці тому

    If possible please share the example of spring boot hashicorp

  • @muralijava552
    @muralijava552 4 місяці тому

    Hi Basant,
    I am not able to run these examples in new version of STS4 please share the old STS4 link if you have

  • @rakeshroshan9690
    @rakeshroshan9690 4 роки тому +1

    I downloaded this project and try to run, i am getting ""No instances available for chatbook", any reason ?

    • @rakeshroshan9690
      @rakeshroshan9690 4 роки тому

      i got , removed pingUrl from RibbonConfiguration, now working fine.

    • @soumyabasak8929
      @soumyabasak8929 4 роки тому

      this comment helped me a lot thanks man

    • @realtimevideos1660
      @realtimevideos1660 3 роки тому

      @@rakeshroshan9690 yes, but why??if anyone explain this. Thanks

  • @RanjithKumar-dg1qw
    @RanjithKumar-dg1qw 4 роки тому +1

    Hi Sir, I was getting "No instance found for chatapp" error. Eventually, I had to remove ribbonRule method from RibbonConfiguration class for it to work. Not sure why.

    • @Javatechie
      @Javatechie  4 роки тому +1

      Not sure based on current version there may be syntactical changes

  • @souravsantra4731
    @souravsantra4731 3 роки тому +1

    Very good content. Thanks

  • @ashishmishra2346
    @ashishmishra2346 3 роки тому

    How to do load balancing in Eureka 3 node Cluster and client should connect with Load Balancer

  • @noorahameds8
    @noorahameds8 Рік тому

    I have created two spring boot projects employee and department and both this entities are registered on Eureka server and I have configured an Api gateway to call this entity so to add load balancer to this project I need to apply load balancing only on API gateway or all three projects (api gateway, employee, department). I want to use Netflix Ribbon for load balancing.
    ANY INPUT WOULD BE VERY HELPFUL.
    Thanks in advance

  • @abhishekbalawan6817
    @abhishekbalawan6817 Рік тому

    Ribbon is not available now. Can you suggest some other way @javatechie?

  • @puranpush
    @puranpush 2 роки тому

    Suppose if I have many apis like /chat in loadbalancer app.. Then how many /invoke api needs to write in client app?

  • @vivek1857
    @vivek1857 4 роки тому +1

    Very nice Video mate!!

  • @venuvamsi5344
    @venuvamsi5344 4 роки тому +1

    15:28..iclientconfig ribbonclient annotated as autowired,where this bean coming from?? Or we declared that class in our project

    • @Javatechie
      @Javatechie  4 роки тому

      We added Netflix dependency right , that's where this bean available

  • @ercreddy
    @ercreddy 4 роки тому

    Excellent explanation, Thank you !!

  • @pitchibovilla3998
    @pitchibovilla3998 5 років тому +1

    Nice explanation

  • @realtimevideos1660
    @realtimevideos1660 3 роки тому +2

    i tried by removing "configuration" :
    @RibbonClient(name="chatapp") only. its works fine for me and i am also not getting error after this : java.lang.illegalstateexception: no instances available for chatbook .
    Do we really need this 'RibbonConfiguration' class????

    • @zeezinc7
      @zeezinc7 7 місяців тому +1

      same with me, removed and its working now.

    • @Javatechie
      @Javatechie  7 місяців тому +1

      This is too old video guys you are referring

    • @zeezinc7
      @zeezinc7 7 місяців тому

      @@Javatechie yes, do you have a newer version for this
      would like to refer that

  • @jyotsanarai6715
    @jyotsanarai6715 2 роки тому

    What if i dont specify the ports of instances using server.port: 0 and let spring decide the port no for me ?

  • @aakashkumbhare4399
    @aakashkumbhare4399 3 роки тому +1

    👍 Great

  • @aakashkumbhare4399
    @aakashkumbhare4399 3 роки тому +1

    How should I test for 1000 multiple requests parallel?

    • @Javatechie
      @Javatechie  3 роки тому

      You can do that load test using soap ui

  • @rexsam3134
    @rexsam3134 4 роки тому

    Why am I getting No instances available for CloudRibbonLB where CloudRibbonLB=chatbook. Spring Boot 2.3.4.
    Individual ones are deloyed on the 3 ports and I can see the message on the screen
    Same happened while running Eureka client after registering on Eureka server.

  • @sundarivaddiparti8463
    @sundarivaddiparti8463 4 роки тому +1

    getting error saying "local instance not found for the list of servers". finally after commenting the below code in RibbonConfiguration it worked fine.
    @Bean
    public IRule ribbonRule(IClientConfig config) {
    return new AvailabilityFilteringRule();
    }
    Anything wrong in using IRule?

    • @Javatechie
      @Javatechie  4 роки тому

      Which version of spring boot are you using ?

    • @sundarivaddiparti8463
      @sundarivaddiparti8463 4 роки тому +1

      @@Javatechie 2.3.3.

    • @Javatechie
      @Javatechie  4 роки тому

      Am not sure then as I already mentioned based on enhance version the implementation might changes

  • @amargupta1728
    @amargupta1728 4 роки тому +1

    Hi Thank and nice video but when I tried to run it, I getting exception as java.lang.IllegalStateException: No instances available for testMicro so please suggest and if you need I can send you my code through mail to check the same.

    • @Javatechie
      @Javatechie  4 роки тому

      Please share your code through GitHub

    • @amargupta1728
      @amargupta1728 4 роки тому

      @@Javatechie github.com/amargJava/client-side-load-banalcer-using-soring-boot
      Please check

    • @amargupta1728
      @amargupta1728 4 роки тому

      Hi, Hope you are fine now and please update.

    • @amargupta1728
      @amargupta1728 4 роки тому

      Please update and still waiting

  • @manideepkumar959
    @manideepkumar959 2 роки тому

    Whats the use of iping ,iclient ur not calling na

  • @kidsfun381
    @kidsfun381 3 роки тому +1

    nice

  • @dipakgiri3248
    @dipakgiri3248 5 років тому +1

    If I use zuul api getway then ribbon is required?

    • @Javatechie
      @Javatechie  5 років тому +1

      Yes both have different purpose to use
      Zuul : request routing
      Ribbon : load balancing

    • @dipakgiri3248
      @dipakgiri3248 5 років тому

      have your what's app

    • @dipakgiri3248
      @dipakgiri3248 5 років тому +1

      but google is said zuul automatically use ribbon for load balancing

    • @Javatechie
      @Javatechie  5 років тому

      @@dipakgiri3248 am not sure I will check and let you know

  • @quadirumar5532
    @quadirumar5532 5 років тому

    I downloaded your code from github and tried to run
    but i am not getting the required output , i am getting following
    {
    "timestamp": "2019-06-13T16:14:04.413+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "No instances available for chatbook",
    "path": "/invoke"
    }

    • @Javatechie
      @Javatechie  5 років тому

      Please read my previous comment I already replied to someone with solution.if you are not getting the. Do let me know

    • @Javatechie
      @Javatechie  5 років тому

      Hi Umar,
      please remove root url from ChatbookApplication which i wrote on top of class i wrote @RequestMapping("/chatbook-application") and remove the same URL while invoke from user-app controller and use like this template.getForObject("chatbook/chat" , String.class); don't know why it behaving like this now , what i understood previously we wrote like template.getForObject("chatbook-application-chatbook/chat" , String.class); right ? so chatbook is our application which we mapped in multiple port but spring boot looking a service with name chatbook-application/chatbook so that's what the problem ..

  • @navyaswarup9573
    @navyaswarup9573 Рік тому +1

    How to set 3 ports?

    • @Javatechie
      @Javatechie  Рік тому

      Change in application.properties and start it

    • @navyaswarup9573
      @navyaswarup9573 Рік тому

      But, if we first run it on port 8001 then 8002 then 8003. So in my case it's working on 8003 port only. Not on other port numbers.

    • @navyaswarup9573
      @navyaswarup9573 Рік тому

      @@Javatechie i try the same method showed in the video but when i use server.port= 8001 and other, its taking the last port only not showing the result on other port as the reason is that i am running that application and the port which is mentioned in the application (the last port) will be running not other ports will run as they are off.

    • @navyaswarup9573
      @navyaswarup9573 Рік тому

      @@Javatechie is i am missing any logic or configuration ?

  • @bhaskarverma9810
    @bhaskarverma9810 4 роки тому +2

    Hi sir i need to ask you about my career counselling , can you share your email id so i can mail you.

  • @mowglishihtzutoy5197
    @mowglishihtzutoy5197 4 роки тому +1

    good tutorial ...but poor english .....