No video

Spring Boot Microservices Tutorial - Part 1 - Building Services

  Рет қаралды 26,122

Programming Techie

Programming Techie

Күн бұрын

In this Spring Boot 3 Microservices tutorial series, we will learn how to build microservices using Spring Boot and Spring Cloud.
This is part 1 of the series, in this part, we will cover:
- The High-Level Architecture of the project
- The Logical Architecture of the project
- Building Product Service
- Writing Integration Tests using Test Containers

Пікірлер: 92
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
The tutorial series and the upcoming parts includes some changes below compared to the previous Microservices Series: - Spring Boot 3 - Integration Tests using Latest Testing Techniques - Spring Cloud Feign for inter service communication - API Gateway implementation using Spring Cloud Gateway MVC instead of Spring Cloud Gateway with Webflux - Add Circuit Breaker Logic in API Gateway - Security using latest Keycloak - Distributed Tracing using Grafana Stack instead of Slueth - Deployment using Kubernetes Link to Written Tutorial: programmingtechie.com/2024/03/28/spring-boot-microservices-tutorial/
@calvinmashishi4932
@calvinmashishi4932 4 ай бұрын
Good day, Is this the same Microservices course but with Springboot 3?
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
The tutorial series includes some changes below: - Spring Boot 3 - Integration Tests using Latest Testing Techniques - Spring Cloud Feign for inter service communication - API Gateway implementation using Spring Cloud Gateway MVC instead of Spring Cloud Gateway with Webflux - Add Circuit Breaker Logic in API Gateway - Security using latest Keycloak - Distributed Tracing using Grafana Stack instead of Slueth - Deployment using Kubernetes
@mysticfit977
@mysticfit977 4 ай бұрын
how long will it take to post all the courses, Sir?
@user-ez6pm6hi8z
@user-ez6pm6hi8z 4 ай бұрын
Sir, will the entire tutorial be free
@shrutisharma3469
@shrutisharma3469 4 ай бұрын
When part 2 is coming?
@favio.romero
@favio.romero 24 күн бұрын
These tutorias are pure gold. I started the previous version until the hour 2 when I realised there was a newer version so I'm retracking (enjoyingly) the path until I reach where I left and can continue from here. I can't tell you how much I learnt so far. Thank you !!! This is 5 stars !!!
@defrankline
@defrankline 4 ай бұрын
Kindly implement oauth2.0 jwt authorization instead of keyclock this time around
@paulkimani6594
@paulkimani6594 24 күн бұрын
I agree , most systems are utilising oauth2.0 jwt for security implementation
@darkdragon5307
@darkdragon5307 4 ай бұрын
finally, a new tutorial. I will skip this until full episodes are downloaded, though
@shrutisharma3469
@shrutisharma3469 4 ай бұрын
One word::- Wow....such an amazing course.
@ruhuseyn
@ruhuseyn 4 ай бұрын
I am very excited about this tutorial. Your explanation is awesome. Good luck
@ugveydev
@ugveydev 4 ай бұрын
Course is very good brother I was learning from the old series also was good but this one is really great I think
@hrsatsangi
@hrsatsangi 4 ай бұрын
Eagerly waiting for this series thank you Sai for such a great effort Love From AGRA ❤❤
@shobhitsolanki8717
@shobhitsolanki8717 4 ай бұрын
Can we pls connect, From Agra too. Lets build a project together.
@Ben-vz6zm
@Ben-vz6zm Ай бұрын
exactly what i am looking for!!!
@nailtagiyev6340
@nailtagiyev6340 4 ай бұрын
Cool. Thanks for the course!
@ayanluap
@ayanluap 19 күн бұрын
Pure Gem!!!!!!!
@NaTa-qn4yv
@NaTa-qn4yv 2 ай бұрын
Good. Thanks for the tutorial!
@nawwintphyu1873
@nawwintphyu1873 23 күн бұрын
Thank you so much!
@hugofernando846
@hugofernando846 4 ай бұрын
Thank you man! Very good explanation! Keep going. :D
@karthikr3259
@karthikr3259 2 ай бұрын
Thank you for the videos, Could you please also cover Microservices design patterns and principles
@Yourmothersmuff
@Yourmothersmuff Ай бұрын
Awesome I was waiting for this.
@raghavanaliassaravananm1546
@raghavanaliassaravananm1546 4 ай бұрын
Lovely. Thank you for the series Sai.
@nihadgurbanov1461
@nihadgurbanov1461 Ай бұрын
I have used ModelMapper but it didn't work with record due to the use of Java records for ProductResponseDto. Java records implicitly declare their fields as final and provide a constructor, getters, equals(), hashCode(), and toString() methods automatically. However, records do not have a no-argument constructor, which ModelMapper requires to instantiate the class.
@elizabethr5161
@elizabethr5161 Ай бұрын
Awesome Tutorial, Thanks a lot Sai..
@HaniDaddy
@HaniDaddy 4 ай бұрын
Wow that's a great tutorial, can you please add frontend frameworks like React or Angular for this series.
@ritikmishra8974
@ritikmishra8974 Ай бұрын
Hi while hitting post api, i am facing the error authentication failed with error 18 and i tried to give username and password also with authenticationDatabase as admin but it is not working...any suggestions any help??
@user-ql4nt3te6r
@user-ql4nt3te6r 4 ай бұрын
excited for playlist
@mohammedabbutalha2793
@mohammedabbutalha2793 4 ай бұрын
Hi, Am getting AuthenticationFailed for the MongoDB even though I have given the correct entries in the docker-compose.yml and the right connection string in the application.properties. Can you please help me
@saujan6289
@saujan6289 3 ай бұрын
I am getting the same error, Can't get over it.
@saujan6289
@saujan6289 3 ай бұрын
I found the problem in my case, I had local instance of mongodb If you have mongodb installed locally uninstall it.
@azamatshauenbekov6319
@azamatshauenbekov6319 3 ай бұрын
@@saujan6289 or change port on 27018*
@ritheasenn
@ritheasenn 3 ай бұрын
@@saujan6289 so I need to uninstall the mongodb locally one in my computer and using only the mongodb in docker instead ?
@anotherOne12342
@anotherOne12342 3 ай бұрын
Had the same issue with an already running instance from the tutorial before. Either stop the old one, or use another port. (Change docker-compose.yml --> port: - "27018:27017" (Host 27018 mapped to 27017 within docker container port))
@davidontiveros2895
@davidontiveros2895 4 ай бұрын
Appreciate all the new content. Question, how is this different from the current playlist you have ? The one you posted a year ago ? Trying to figure out if I should just start with this one or keep watching the old one.
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
This is the more relevant playlist and more detailed, check the pinned comment
@davidontiveros2895
@davidontiveros2895 4 ай бұрын
@@ProgrammingTechieappreciate it. Didn’t see the comment 🤦🏻‍♂️. Your content is very helpful.
@Sebastian-zs8cp
@Sebastian-zs8cp 4 ай бұрын
hi, your graphic is wrong 3:50 and special your arrows for sync. comm and unsync. comm. it make me confius. sync. comm = and unsync. comm = ->....can you straighten that out?
@AmitDobal
@AmitDobal Ай бұрын
Thanks for the video. One suggestion, the font is very small. It's very hard to see in laptop.
@ProgrammingTechie
@ProgrammingTechie Ай бұрын
It's better from video 4
@poornima.dpreethi4546
@poornima.dpreethi4546 4 ай бұрын
Why Eureka is used when client side server zookeeper is present
@srikarsharma9628
@srikarsharma9628 3 ай бұрын
can this project be developed on a macbook Air..looking at so many software components that were used ?
@kunaiEUW
@kunaiEUW 16 күн бұрын
Thank you for this course ! just want to know why didn't we use a discovery service?
@ProgrammingTechie
@ProgrammingTechie 16 күн бұрын
We use Kubernetes for service discovery
@kunaiEUW
@kunaiEUW 15 күн бұрын
@@ProgrammingTechie Thank you for your response, so why dont we call services with their names instead of url? how can we manage multiple instances
@ProgrammingTechie
@ProgrammingTechie 13 күн бұрын
@@kunaiEUW Kubernetes manages it by itself if we have multiple instances, it does the load balancing,. we are using the service names itself, the url is constructed using the service name, if you are making a http call then you have to create a url according to the http specification.
@BiswajitSamalOdisha
@BiswajitSamalOdisha 4 ай бұрын
Thank you
@gerardsegismundo8931
@gerardsegismundo8931 4 ай бұрын
thank you. can you pls do or add aws to it?
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
I will not be covering this in this series. Deploying Kubernetes to AWS EKS is first of all not covered in the free tier. You will be charged for the usage of AWS. In my paid course I will be covering deployment to cloud with the deployment to GCP.
@joelravanely8914
@joelravanely8914 4 ай бұрын
regarding the paid course, will there be a frontend? like Angular?@@ProgrammingTechie
@prashish2022
@prashish2022 11 күн бұрын
IS there a github repo
@prasanthsanjeevi2563
@prasanthsanjeevi2563 4 ай бұрын
@ProgrammingTechie Your training is awesome, why cant you make udemy course?
@rubbish9231
@rubbish9231 4 ай бұрын
Nice
@user-dp1xb9pl5x
@user-dp1xb9pl5x 4 ай бұрын
where can I get the source code of the course
@minhhieuo1043
@minhhieuo1043 4 ай бұрын
thanks bro!
@azamatshauenbekov6319
@azamatshauenbekov6319 3 ай бұрын
how ide authomatic write code? do tutor, please)
@tabrezshaikh7705
@tabrezshaikh7705 4 ай бұрын
Thanks a lot! I was waiting for this. Any idea, by when will all the episodes of this tutorial be released? Also, what is the total watch time of this complete series?
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
Hey, it will take 2 more weeks to release the whole course, I don't know the total watch time, but it will be greater than 6 hours
@anandlshinde
@anandlshinde 3 ай бұрын
@PragrammingTechie Thanks for creating this series I followed the same steps for docker. same configuration was added in docker-compose file but still I am facing the below error while executing docker compose up -d command. can anyone guide me here to resolve this issue? Thank in advance! `version` is obsolete" error during connect: this error may indicate that the docker daemon is not running
@BrainRainGoAway
@BrainRainGoAway 3 ай бұрын
is you docker client running in background ?
@szymonnizioek3810
@szymonnizioek3810 4 ай бұрын
Very helpful video! I have one question about your model class: why is it anomic (consisting of a setter, getter, such as a value object) instead of being a rich business entity class (which contains some state, behavior, and validations)?
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
I want to keep this simple :) , in this tutorial, I am mainly concentrating on the surrounding technologies instead of each individual project.
@Sebastian-zs8cp
@Sebastian-zs8cp 4 ай бұрын
In 8:06 why you don't take the cloud lib and why u use maven not gradle becous it is faster as maven?
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
I don't know if Maven is faster than Gradle, for me I am more used to Maven, and I see no reason to switch to Gradle.
@mustafaadel9703
@mustafaadel9703 3 ай бұрын
Can you explain why did you use mongo with the product service ?
@faixan13
@faixan13 3 ай бұрын
because product data is usually unstructured means every product can have different attributes as we dont need rigid schema for that or proper relationships.
@youssefzahi3418
@youssefzahi3418 4 ай бұрын
Can you implement oauth2.0 jwt authorization instead of keyclock this time around
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
Can you explain more about what you mean ? If you want to use OAuth2 then you have to use any authorization server like Keycloak/Auth0/Okta You cannot implement OAuth2 without it. If you want to just have JWT Authentication and Authorization without using Keycloak, then I have to tell you that's not a standard practice in the real world. JWT auth is used only when you are using monolithic apps.
@Coolpratik10
@Coolpratik10 3 ай бұрын
Which one should i continue sir ji .. The previous one that you posted a year back "Apr 23, 2022 Spring Boot Microservices Full Course" or this one ? @ProgrammingTechie
@ProgrammingTechie
@ProgrammingTechie 3 ай бұрын
This one
@nikitapujahari1624
@nikitapujahari1624 3 ай бұрын
HI Sir, Is this series is free?? Or we need to take subscription. How many upcoming classes are there??
@luigiscottorosato2977
@luigiscottorosato2977 4 ай бұрын
What will you use to keep secrets? hashicorp? I think you didn't use it in the other tutorial
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
We will use kubernetes secrets
@huynguyenhoang3460
@huynguyenhoang3460 14 күн бұрын
HI guys, I'm doing part testing in product-service so there won't be an error message like this: java.lang.IllegalArgumentException: JSON input text cannot be null or empty. while: package com.msnh.product_service; import com.msnh.product_service.dto.ProductRequest; import io.restassured.RestAssured; import io.restassured.parsing.Parser; import org.hamcrest.Matchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.server.LocalServerPort; import org.springframework.boot.testcontainers.service.connection.ServiceConnection; import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; import java.math.BigDecimal; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) class ProductServiceApplicationTests { @ServiceConnection static MongoDBContainer mongoDBContainer = new MongoDBContainer("mongo:7.0.7"); @LocalServerPort private integer port; private objectMapper objectMapper; @BeforeEach empty set() { RestAssured.baseURI = "localhost"; RestAssured.port = port; RestAssured.defaultParser = Parser.JSON; } static { mongoDBContainer.start(); } @Test void shouldCreateProduct() throws Exception { ProductRequest productRequest = getProductRequest(); RestAssured.given() .contentType("application/json") .body(productRequest) .When() .post("/api/product") .Later() .log().all() .statusCode(201) .body("id", Matchers.notNullValue()) .body("name", Matchers.equalTo(productRequest.name())) .body("description", Matchers.equalTo(productRequest.description())) .body("price", Matchers.is(productRequest.price().intValueExact())); } private ProductRequest getProductRequest() { return new ProductRequest("iPhone 13", "iPhone 13 black 512gb", BigDecimal.valueOf(1200)); } } please help me
@sumanta8504
@sumanta8504 4 ай бұрын
Nice video. But the font size is very small, and watching on the laptop is very difficult, please increase the font size in future videos.
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
I increased the font size in the latest 2 videos, got a new monitor recently that messed up the recording resolution 😔
@sumanta8504
@sumanta8504 4 ай бұрын
@@ProgrammingTechie I used my big monitor to watch the video and the laptop screen for IntelliJ. Normally, I do it the other way around, but I switched because of the font size. Anyway, it's not a big problem when you have great content :)
@alexanderay2585
@alexanderay2585 4 ай бұрын
Hello, will you create frontend for this project? thanks
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
Frontend is not planned for this series
@prashlovessamosa
@prashlovessamosa 4 ай бұрын
Sai sir what are the prerequisite to start with this i can build a rest api with Spring Boot but hav no exp with k8s should i learn that first ?
@ProgrammingTechie
@ProgrammingTechie 4 ай бұрын
No need I will start with basics of k8s
@prashlovessamosa
@prashlovessamosa 4 ай бұрын
@@ProgrammingTechie Great
@dineshdevagalla2918
@dineshdevagalla2918 2 күн бұрын
Please let me know what are the prerequisites that i needed, to complete the tutorial with ease. @ProgrammingTechie
@ProgrammingTechie
@ProgrammingTechie 2 күн бұрын
This is the first thing I mentioned in the video, try watching at least the first 10 seconds
@shouryakhujneri5132
@shouryakhujneri5132 2 ай бұрын
Did Anyone face any issues with integration tests ? while writing the test case for shouldCreateProduct method, it is asking me to typecast it to ResponseAwareMatcher) like this : - .body("id", (ResponseAwareMatcher) Matchers.notNullValue()) .body("name", (ResponseAwareMatcher) Matchers.equalTo("iphone 15")) Can someone please help with this ? @ProgrammingTechie
@Shopme-ty2wv
@Shopme-ty2wv 4 ай бұрын
Very good Explanation. when the next part be released?
Spring Boot Microservices Tutorial - Part 2 - Order Service
27:24
Programming Techie
Рет қаралды 8 М.
Microservices using SpringBoot 3.0 | Full Example [NEW]
1:25:38
Daily Code Buffer
Рет қаралды 179 М.
The Giant sleep in the town 👹🛏️🏡
00:24
Construction Site
Рет қаралды 19 МЛН
Ik Heb Aardbeien Gemaakt Van Kip🍓🐔😋
00:41
Cool Tool SHORTS Netherlands
Рет қаралды 4,4 МЛН
ROLLING DOWN
00:20
Natan por Aí
Рет қаралды 10 МЛН
5 Rules For DTOs
17:56
Ardalis
Рет қаралды 40 М.
Spring Boot APIs Gateway in 20 Minutes
22:50
The IT Wizard
Рет қаралды 10 М.
Microservices là gì? Hiểu Microservices trong 12 phút !!!
12:29
How This New Battery is Changing the Game
12:07
Undecided with Matt Ferrell
Рет қаралды 95 М.
Microservices using SpringBoot | Full Example
1:21:39
Daily Code Buffer
Рет қаралды 1 МЛН
Top 25 Microservice Interview Questions Answered - Java Brains
39:54
Spring Boot Roadmap - How To Master Spring Boot
17:42
Amigoscode
Рет қаралды 419 М.
Software Testing with Spring boot and Mockito Framework
1:14:12
Bouali Ali
Рет қаралды 27 М.
The Giant sleep in the town 👹🛏️🏡
00:24
Construction Site
Рет қаралды 19 МЛН