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
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.. 👍👍👌👌
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 ❤
I appreciate all your efforts ..thank you man 👍
On fun note your voice similar to bjp spoke person shahnawaz hussain
👍🏻👍🏻👍🏻😂😂
Very nicely explained. Thank you very much. This video deserves much more Views and Likes. Keep up the good work!
Thanks Samarth 😁 , glad to hear this from you 👍
Excellent explanation ,Appreciate your patience!!
appreciate the approach to explain such beautiful concept. Awesome
Sir, you deserve more subscribers.. Thanks for the tutorial
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?
Hi Subin, if you are directly using eureka then ribbon implementation is inbuilt in nature all required configuration stuff already preconfigured in eureka
@@Javatechie then why did you set Eureka enabled to false in yml file?
@@rexsam3134 I am also having same question
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.
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?
Ya pls answer for this @java techie.. I too have the same question
Very nice explanation. It was very helpful. Keep this nice work going.
Thanks very very much for very nice work from explain and source code.
Thanks very much
the best explanation i ever i had. kudos to java techie
Thanks santosh 🥰
Nice, detailed explanation! Thank you, Sir.
Beautifully Explained ! Thanks a ton @Java Techie
tooooooo good :) thanks a lot!!!
in all your tutorial this was best :)
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.
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
Very nice explanation.. thanks
Very nicely explained. Thank you very much,good job !
awesome,
keep that coming.
Hello sir , can you make a completed video how to deploy micro-service on production server
thank you, i understand all what i need
very good , in sort explained big concept.
What’s the difference between eureka service discovery vs Ribbon discovery? which one should be used in production env?
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?
Can't find the ribbon dependency to add. Should I change the java version or spring version.
Change spring version
Nice vdo man !! Keep up the good work
Plz make a video on hysterix !
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
PLease share us the updated video, for client side load balancing example
Okay will do once more
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 ....
In one of the comment I shared alternative solution please have a look
greate job bro !!
Crispy bro
If possible please share the example of spring boot hashicorp
Hi Basant,
I am not able to run these examples in new version of STS4 please share the old STS4 link if you have
I downloaded this project and try to run, i am getting ""No instances available for chatbook", any reason ?
i got , removed pingUrl from RibbonConfiguration, now working fine.
this comment helped me a lot thanks man
@@rakeshroshan9690 yes, but why??if anyone explain this. Thanks
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.
Not sure based on current version there may be syntactical changes
Very good content. Thanks
How to do load balancing in Eureka 3 node Cluster and client should connect with Load Balancer
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
Ribbon is not available now. Can you suggest some other way @javatechie?
Suppose if I have many apis like /chat in loadbalancer app.. Then how many /invoke api needs to write in client app?
Very nice Video mate!!
15:28..iclientconfig ribbonclient annotated as autowired,where this bean coming from?? Or we declared that class in our project
We added Netflix dependency right , that's where this bean available
Excellent explanation, Thank you !!
Nice explanation
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????
same with me, removed and its working now.
This is too old video guys you are referring
@@Javatechie yes, do you have a newer version for this
would like to refer that
What if i dont specify the ports of instances using server.port: 0 and let spring decide the port no for me ?
👍 Great
How should I test for 1000 multiple requests parallel?
You can do that load test using soap ui
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.
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?
Which version of spring boot are you using ?
@@Javatechie 2.3.3.
Am not sure then as I already mentioned based on enhance version the implementation might changes
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.
Please share your code through GitHub
@@Javatechie github.com/amargJava/client-side-load-banalcer-using-soring-boot
Please check
Hi, Hope you are fine now and please update.
Please update and still waiting
Whats the use of iping ,iclient ur not calling na
nice
If I use zuul api getway then ribbon is required?
Yes both have different purpose to use
Zuul : request routing
Ribbon : load balancing
have your what's app
but google is said zuul automatically use ribbon for load balancing
@@dipakgiri3248 am not sure I will check and let you know
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"
}
Please read my previous comment I already replied to someone with solution.if you are not getting the. Do let me know
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 ..
How to set 3 ports?
Change in application.properties and start it
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.
@@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.
@@Javatechie is i am missing any logic or configuration ?
Hi sir i need to ask you about my career counselling , can you share your email id so i can mail you.
javatechie4u@gmail.com
good tutorial ...but poor english .....
These are my old videos 🥺
@@Javatechie no offense bro ....
Thanks bro