How Microservices communicate? API BEST practices | Java | Spring Boot | REST API #3

Поділитися
Вставка
  • Опубліковано 8 лип 2024
  • How Microservices Communicate ? Microservices inter communication is an important thing learn.
    In this Lesson, We will Learn about different Rest clients. We will use RestTemplate and WebClient to make API calls and along the way we will understand why RestTemplate is getting deprecated. We will learn what is a blocking call and why it should be avoided ? Then we will make a comparison between Blocking Vs Non Blocking calls.
    In this lesson, We will discover a lot of Microservices coding best practices and will explore a lot of concepts.
    Timestamp
    ------------------
    00:00:00 - Microservices Communication Prep
    00:04:05 - New API Requirement
    00:06:36 - Spring Boot Apps context-path and port configuration
    00:12:20 - Building Response Object
    00:18:21 - Making Rest client calls using RestTemplate
    00:27:15 - Doubts clarification
    00:31:09 - Improving our code using RESTTemplateBuilder
    00:42:31 - QNA / Doubt Discussion
    00:54:15 - why RestTemplate should be avoided ?
    00:57:55 - what is thread per request model ?
    01:03:53 - What is a blocking call ?
    01:08:22 - Dynamic port allocation in spring boot
    01:15:39 - Blocking Vs Nonblocking call
    01:19:31 - Building Reactive apps using spring web flux
    01:24:00 - Rest calls using WebClient
    01:43:37 - THE END
    #JavaMicroservices #SpringBoot #SpringCloud
    In this series of Sessions we will learn to create Microservices using spring boot and We will Implement spring cloud to resolve the known challenges during MS development.
    This course will get you started with Microservices, for in-depth Microservices hands-on you can check out the below paid course : Course Name : Spring Boot Advanced + Microservices Bootcamp (Running Batch)Mode : Live / Self-Paced
    www.seleniumexpress.com/cours...
    #Microservices #SpringBoot #SpringCloud #java
    For more free / paid courses visit
    www.seleniumexpress.com
    LINKS AND FREE LEARNING RESOURCES
    ========
    Watch my new mock interview series for java developers
    • Java interview questio...
    Watch Spring boot Hot topics
    • @Reposicotry Vs @Servi...
    Java Interview / Question and Answer series
    • Java collections inter...
    Explain spring Bean Lifecycle
    • REAL-TIME: Spring Bean...
    spring core
    • Spring framework tutor...
    spring mvc
    • Spring MVC course intr...
    spring mvc intermediate
    • [INTERMEDIATE] Spring ...
    Spring JDBC
    • Spring JDBC Course Pre...
    spring live project
    • #1 Build and Deploy A ...
    SPRING SECURITY COURSE[NEW]
    • Spring Security Course...
    For more courses visit
    www.seleniumexpress.com
    Any time you are getting stuck with issues, Feel free to ask for support.
    You can send mail to seleniumexpress@gmail.com
    you can ping me on my Facebook page
    / seleniumexpress
    Make sure to join my private Facebook page (Ask me here)
    “SeleniumExpress - Support"
    / 187000222361579
    you can ask for support in my website forum
    www.seleniumexpress.com
    Subscribe to my youtube channel
    / @seleniumexpress
    Follow me on Insta
    / selenium_express

КОМЕНТАРІ • 170

  • @manamohansamal1040
    @manamohansamal1040 Рік тому +7

    Webclient is non blocking in nature but as of my knowledge if we use .block() it blocks the current thread and becomes blocking in nature . If we have to use non blocking feature we should return a Mono or Flux.

    • @SeleniumExpress
      @SeleniumExpress  Рік тому +5

      Hi Manamohan ! Thanks for the correction. I went with the flow and used block () to remove the error as I already had the AddressResponse written in return and forget to explain it further. I noticed the same thing during editing but forgot to add a text annotation as well.
      Pinning this comment. Thank you.

    • @manamohansamal1040
      @manamohansamal1040 Рік тому +2

      Hello Abhilash, thank you for making this types of videos with such deep explanation ❤️ and replying to my comment it means a lot . I do understand it not just a one line code change to magically move the synchronisation process to asynchronous, there are a lot of changes required and your explanation you just showed how to use webclient in place of rest template. Once again big fan of your the level of knowledge you have and type of explanation you gave ❤️❤️

    • @SeleniumExpress
      @SeleniumExpress  Рік тому +3

      @@manamohansamal1040 Thank you Manamohan. Means a lot ❤️❤️

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

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

      For above case address response isn't mono or flux type it's an entity class, if you return mono or flux it won't accept right, how can we resolve this

  • @dbarasuk1600
    @dbarasuk1600 Рік тому +3

    I'm telling you, it's sweet. To find this tuto free is a miracle. Well explained with great examples. You hide nothing or neglect any aspect people need to know. Sir, keeping going in this way, i appreciate.

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

    1st half - Done
    I have been following all your videos from spring mvc , springboot hibernate to microservices. I truly love the way you teach and everything you teach is very standard and follows industry pattern of writing code. This really helps to understand how it is actaully done at its best. Your depriciated packages elaboration is also appreciated. I would love to lean more new and advance techniques to deal with a programming issue. Thank you for you effort, time and sharing knowledge.

  • @user-dn1wl3ej7z
    @user-dn1wl3ej7z 9 місяців тому

    1st Half Done - Clearly understood all the concepts till now, absolutely wonderful session.

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

    1st half - done! Abhilash it's great to learn spring concepts from you, you explain everything in really a good way. I have been following your spring series for 8 or maybe 9 months and found it very helpful. Thanks!

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

    As always deeper and proper explanation of each and every point.

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

    1st half done so clear and detailed tutorial.

  • @aw703
    @aw703 Рік тому +4

    Thanks sir for keeping up with your word on regular releasing of videos.Please help us empower with skills by releasing videos in this standard phase.

  • @VishalJani-tx4xb
    @VishalJani-tx4xb Рік тому

    1st half done. Just hats-off to your knowledge and kindness. It's helping a lot to understand concept deeply. Thanks a lot.

  • @damilola_adegunwa
    @damilola_adegunwa 6 місяців тому

    Thanks for this video -In this video, I have learnt about modelMapper, @Value, @Bean, context-path, constructor injection, got introduced to web-client, open-feign (feign client), restTemplate, back-pressure, project reactor, web-flux, etc.

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

    1st half done!!! You are nailing it Sir

  • @ashenafichanyalew-os9kp
    @ashenafichanyalew-os9kp Місяць тому

    You are the best teacher how to explain breaking down the details.

  • @JohnDoe-ej6vm
    @JohnDoe-ej6vm Рік тому +4

    that`s awesome. please do not stop this series.

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

    1st half done,
    I have never seen a person having this kind of teaching skills

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

    1st half done - great teaching so far, as always!

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

    1st half done. Pretty excellent and helpful in understanding the underlying things.

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

    Awesome teaching , please post all the videos.

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

    My 1st-half is done Abhilash, and it was really amazing. I won't have ever received such level of knowledge from anywhere and anyone in the world around. I am watching from Canada and shortly will be ready to get in market for job applications and then interviews.
    I find each and every material very helpful, and even if you take a bit more time to explain and the sessions are longer, I feel confident after each session and get encouraged for the next one.
    Not even in my bachelors or PG course, I was so excited to learn new, but "YOU ARE A GEM OF A PERSON" which makes me attracted to your next material and I wait for new recorded sessions everytime I am going through your series.
    A BIG BIG THANK YOU TO YOU - ABHILASH TILL NOW AND GOD BLESS FOREVER!!
    Please also share some links with me regarding interview prep from top to bottom in Java backend (Core to Advanced Java).

  • @SSPrada
    @SSPrada 9 місяців тому

    1st-half done. great going

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

    1st half Done.., It's helping a lot to understand concept deeply. Thanks a lot.

  • @PK-yv3ig
    @PK-yv3ig Рік тому +1

    Excellent session.Explaining in detail. Thanks for wonderful series.

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

    1st Half Done brother Abhilash 🙌🙌🙌, every single second is worth listening and watching. Thanks and keep it up 🙏🙏🙏

  • @user-ql4nt3te6r
    @user-ql4nt3te6r 2 місяці тому

    thank tou for dropping such helpful playlist..!!!!

  • @raullins7445
    @raullins7445 9 місяців тому

    1st half - done successfully!

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

    Thank you sir for awesome series

  • @steveken6279
    @steveken6279 2 місяці тому

    First half done!!! I'm loving the tutorial. Good work.

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

    Thanks for bringing such a helpful tutorial. 👍

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

    Great, as always! Thank you for your dedication

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

    1s half-done thnak you so much for all this courses

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

    Thank you Abhilash

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

    Thank you for this deep explanation about Sync and Async communication between microservices and how can the choice of each approach can increases or decreases the performance of our web application.

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

    Thanks for the video very informative. Please keep making such videos

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

    Superb..Thank you

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

    1st half done sir.... Thank you sir

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

    Finally i found the best tutorial in youtube best to learn and implement, i owe you a lot sir please make videos on kafka using springboot

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

    you are great. please upload more & more videos. eagerly waiting for your next video

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

    its an amazing session

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

    Super teaching sir,I understand all the things, It's very interesting try to complete all the concepts in microservices

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

    very much helpful thanks

  • @chaitanyashimpi6212
    @chaitanyashimpi6212 6 місяців тому

    Sir please take 2 seperate microservices and reach all the methods get, post, put and delete from one microservices to another ex. Employee should able to update delete add address from employee microservices. Like this. It will really helpful

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

    You are god of Spring !!

  • @user-oc6kb5kr6l
    @user-oc6kb5kr6l 15 днів тому

    Thank you🙏

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

    Awesome explanation

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

    1st hald done abhilash
    Amazing video both for content wise as well as quality. Keep continue these. I m moving towards for 2nd half

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

    Awesome keep posting 🔥🔥

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

    Superb explanation bro

  • @d3nnyyy
    @d3nnyyy 11 місяців тому +1

    For those who have a problem with running some certain service on different ports:
    1) Go to "Edit Configurations" near the Run button at the top
    2) Click "Modify options"
    3) And there in the "Operating System" section, click on the "Allow multiple instances"

    • @aibardulatov
      @aibardulatov 5 місяців тому

      Thank you buddy. Helped me so much

  • @balumahendra2490
    @balumahendra2490 6 місяців тому

    your knowledge and the way of explanation is very good

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

    Please do Session for Docker and kubernetes. Your Explanations is clean and clear.

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

    Man great learning with you . Appreciate you a lot 1:46:35

  • @rahul88090
    @rahul88090 3 місяці тому

    Bahot sahi padhaye ho Bhai keep it up

  • @user-vd2ht4gk7b
    @user-vd2ht4gk7b 4 місяці тому

    Really good session

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

    Thanks

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

    1st half done . Thank you so much for this much clear explanation. I am your new subscriber.

  • @MurtazaGillani1996
    @MurtazaGillani1996 Місяць тому

    1st half done.

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

    Awesome explanation..

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

    1stHalf done video is awesome pls pls upload one more video on microservices

  • @someshwarreddydasari6745
    @someshwarreddydasari6745 11 місяців тому

    1st-half done.

  • @Yogesh_C.K
    @Yogesh_C.K 3 місяці тому

    1st half - done❤

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

    Great teaching ... keep going sir.. Can you please add Springboot series as well, It will be very much helpful to cover those topics as well..

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

    Video introduction music awesome bro

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

    Are you sure, that your webclient example is non-blocking? I believe it's still blocking, because you use ".blocking()". In my understanding, the return type of the function needs to be "Mono" and you should map/flatmap the results within the service.

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

    First half done, thank you sir

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

    1st half done .
    And it is very intresting

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

      Thank you so much for taking time and letting me know a feedback ❤️

  • @RiteshSingh-xb9oy
    @RiteshSingh-xb9oy 6 місяців тому

    pls add more videos in this series, I have finished all

  • @user-vq1vv7bb4b
    @user-vq1vv7bb4b Рік тому

    1st half- done

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

    Thanks Abhilash garu for the wonderful series. Can you also do video on Microservices design patterns.

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

    1st-half done

  • @start1learn-n171
    @start1learn-n171 Рік тому

    TQ

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

    Thanks abhi❤️

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

    Awosome😊

  • @start1learn-n171
    @start1learn-n171 4 місяці тому

    Tq abilash

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

    1st half done

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

    Hi, is there any chance you do a video on deploying these microservices to docker containers and showing them communicate. That is better than running them in eclipse or any ide. Thanks, you could have a postgres db in a third container as well.

  • @fazlurrehmanejazahmad6068
    @fazlurrehmanejazahmad6068 6 місяців тому

    first half done

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

    1st half done.
    As always deeper and proper explanation of each and every point.

  • @tanveer.shaikh
    @tanveer.shaikh Рік тому

    please update other videos as well

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

    basant (java techie) and abhilash from odisha .and doing great

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

    Hi Abhilash thanks once again for giving such awesome tutorial, I have one query that will you be also giving Api Gateway and Eureka videos also in this series will it have complete artitechture of spring cloud????

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

    Hi abhilash, if we are not going with synchronous call and not wait for response of other service in this example address service then how we will get the consolidated response??

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

    Thank u abhilash

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

    Nice mota bhai

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

    Thanks Abhilash, I m from Viet Nam.

  • @RiteshSingh-xb9oy
    @RiteshSingh-xb9oy 6 місяців тому

    hello abilash, pls add all the videos of this series,

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

    Can you please take one vedio testcases using web client and mono and flux

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

    👏🏻👏🏻✌️

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

    Can you please teach AWS also along with microservices

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

    Hello Abhilash, I saw 41:00 where you injected the baseurl and rest template through construtor it looks fine only when you current service is pointing to only one other service thtough rest call (in your case address service)... but there might be a chance where your employee service might need to hit other service rest template from the same service, at that time there might be a problem. I am just saying hard coding them in the constructor might be risky in future

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

      Hello Sorry for posting the comment quickly...my question was raised my Santosh himself...thank you I got the answer

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

    Hi Abhilash, can you show how to call a secured Microservice from another Microservice?

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

    Jvm and Tomcat threads are same or different?

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

    Can you share spring boot videos?

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

    I plan to have 16 microservices. It doesn't make sense to have each on of them run on unique port#. How do I have them share the same port?

  • @k.ppandit5516
    @k.ppandit5516 2 місяці тому

    Hi I have a question regarding webClient the question is when thread serves another request then how dies it know that its 1st response is ready to serve cleint side . is there any internal process by which it know this response belong to which request

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

    what is difference between creating an object with new keyword and Address address on 23:50

  • @chaitanyashimpi6212
    @chaitanyashimpi6212 6 місяців тому

    If any course is going tell I will join or buy the course as well

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

    Are you currently working for Sapiens ?

  • @JohnDoe-ej6vm
    @JohnDoe-ej6vm Рік тому

    I think we will get only a few demo videos. Right?

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

    Abhilash please give us the Diwali gift and upload some more videos of microservice

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

    @Everyone when i trying to put address-service base url in applicaiton.yaml file it is not working as expected.Can someone tell me how to handle this

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

    Is it complete microServices series