월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
@RequiredArgConstructor를 붙이면 클래스 캐스트 예외가 발생하고 붙이지 않으면 발생하지 않습니다
저처럼 습관적으로 RequiredArgConstructor 붙이시다가 초반부터 못 넘어가는 분 계실까봐 글 남깁니다생성자 따로 만들어도 저게 있으면 Enviroment만 있는 생성자로 빈을 만들기 때문에 계속 에러납니다.
- 해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
다른서버를 사용하면 lb://MAIN-SERVICE가 작동을 안합니다
예제를 따라하면서 API-GATEWAY와 EUREKA 는 LOCALHOST로 서버를 열고,MAIN-SERVICE라는 서비스만 AWS EC2에서 실행하였습니다.직접 주소를 넣었을때는 잘 작동하는데배운대로 lib://MAIN-SERVICE 의 형태로 하면 작동을 안합니다!..혹시 방법이 있을까요?참고로 모든 서버를 LOCA에서 돌렸을때는 lib이 정상 작동 하였습니다
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
mysql.server start 명령어의 의미
따로 디비를 설치하는 것 없이 그냥 mariadb client를 주입받고 바로 해당 프로젝트에서 터미널로 mysql.server start를 하셨는데요이건 client를 주입받으면 해당 폴더에서 알아서 디비가 깔리는 구조인건가요?
- 해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
MSA 각 서비스 분리시에, 공유되는 클래스는 어떻게?
안녕하세요.강의에서 , UserService 와 OrderService 가 서비스로 분리되어 있는 상태에서UserService 에서 OrderService API 호출해서 데이터를 가져올때,ResponseOrder 클래스를 UserService 프로젝트안에 만드셨던데,실제 현업에서는 ResponseOrder 를 UserService 와 OrderService 에 중복으로클래스를 생성하지는 않을 거 같은데요.서로 다른 프로젝트(UserService 와 OrderService) 에서 공유되는 클래스는 어떻게관리를 해야하나요.. 프로젝트에 각각 중복해서 클래스를 만들어서사용하나요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
127.0.0.1:8000/order-service/fcec75e5-6858-4112-8659-34000efd1988/orders
본 챕터 강의에 있는 모든 코드를 정상적으로 입력하였는데, 포스트맨으로 테스트시 에러가 발생합니다. --- 포스트맨 입력 값 ---POST 127.0.0.1:8000/order-service/fcec75e5-6858-4112-8659-34000efd1988/orders{ "productId": "CATALOG-001", "qty": 10, "unitPrice": 1500 }--- 포스트맨 반환 값 ---{ "timestamp": "2023-01-30T12:44:33.233+00:00", "status": 404, "error": "Not Found", "message": "No message available", "path": "/order-service/fcec75e5-6858-4112-8659-34000efd1988/orders" }
- 해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
docker 네트워크는 물리적으로 다른 ip에서도 연동가능한가요?
안녕하세요 이 강의를 통해 처음으로 docker를 학습하고 있는 중인데, 궁금한게 있습니다.docker 네트워크를 사용해서 여러 컨테이너를 연결 할 수 있다고 하는데, 물리적으로 다른 아이피에 있는 컨테이너도 하나의 도커 네트워크로 연결 할 수 있는건가요?이 예제를 학습해서 aws의 2개의 ec2에서 서비스를 분할하여 배포를 하고 싶은데, 이 네트워크 개념으로 가능한 일인지요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
윈도우 rabbitMQ 설치했는데 15672 접속이 안됩니다..
rabbitmq 정상적으로 실행은 되었는데localhost:15672 접속하면 페이지가 안뜹니다..운영체제 window이고..도와주세요....!
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
비대칭키일 때 decrypt 질문입니다.
bootstrap.yml파일에는 암호화할 때 사용하는 개인키 위치만 알려줬는데 어떻게 복호화를 할 수 있는 건가요?디렉토리에 공개키를 생성했다고는 하지만 yml파일에 위치를 설정하진 않았는데 어떻게 복호화를 할 수 있는지 궁금합니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
UserDto 의 pwd 값 관련
안녕하세요. 좋은강의 감사합니다.다름이 아니라 강의에서 설명하실때는getUserDetailsByEmail 메소드에서 UserEntity 를 UserDto로 맵핑할때클라이언트가 입력한 password를 Spring Security 가 UserDto의 pwd 파라미터에 암호화하여 넣어준다는 식으로 말씀하신거 같습니다.@Override public UserDto getUserDetailsByEmail(String userName) { UserEntity userEntity = userRepository.findByEmail(userName); if(userEntity == null) throw new UsernameNotFoundException(userName); UserDto userDto = new ModelMapper().map(userEntity,UserDto.class); return userDto; 그게 아니라 단지, ModelMapper 에 STRICT 설정을 해주지 않아서 UserDto의 pwd와 encrytedpwd 값이 모두 UserEntity의 password 값으로 들어간게 아닌가 해서 질문드립니다.
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
멀티서비스 관련 문의 드립니다!
안녕하세요.항상 좋은 강의를 제공해주셔서 지식을 습득하는데 큰 도움이 되고 있습니다 감사합니다!현재 강의를 들으며 서비스를 구축하고 있는데 멀티서비스와 관련하여 몇가지 질문드립니다.강의에서 OrderService를 멀티서비스로 구현했을 때 동기화 문제가 발생할 수 있다고 하셨습니다.그래서 카프카를 이용해 개선을 진행하셨는데, 만약 같은 두 개의 서버가 같은 DB, 예를 들어 RDS의 URL을 접근하게 될때 궁금한 부분이 존재합니다.보기에는 MQ를 이용하면, 요청이 큐 형식으로 순차적으로 진행하게되어 동시에 DB에 write를 할 경우 문제가 발생하지 않는게 맞을까요?Kafka Listener(Consume)는 실시간으로 topic에 데이터가 들어올 때만 사용하면 되는 것으로 생각해도 될까요? 예를 들어 kafka connect 로 생성할 데이터를 업데이트하고 필요한 경우에는 consume이 아닌 직접 DB에 요청해서 가져와서 활용하는게 맞는 방향일까요? 아니면 항상 데이터는 consume으로 가져와야하는 건가요?멀티서비스를 하는 경우 로그가 각각 저장될 것으로 생각됩니다. 현재 slf4j2를 이용해서 서비스 로그를 저장하고 있는데 이 경우 로그를 통합해서 한 곳에서 보려면 어떻게 해야하나요? 서칭했을 땐 fluentd라는 로그수집기를 얘기하던데 이런방식으로 로그를 수집하는 방법이 맞을까요? 추가적으로 이런 로그를 프로메테우스에서도 볼 수 있는지 궁금합니다.아직 개념이 머릿속에 자리잡지않아서 혼동되는 부분이 있어서 질문 드렸습니다!감사합니다!
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
ErrorDecoder랑 FallbackFactory
안녕하세요.강의를 듣다가 궁금한 점이 생겨서 질문 드립니다.ErrorDecoder랑 FallbackFactory의 차이점이 무엇인지 알 수 있을까요?FallbackFactory는 어떤 에러가 발생하든 개발자가 설정한 값으로 리턴만 해주는 것이고ErrorDecoder는 에러를 상세를 관리할 수 있어서 에러에 따라서 원하는 값으로 리턴해주는 것일까요?보통 둘이 같이 사용하나요? 아니면 따로 따로 사용하나요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
주문목록에 회원정보 추가
안녕하세요 강사님. 유익한 강의 정말 잘듣고있는 초급 개발자입니다.강의를 들으면서 긍금증이 생겨서 질문드립니다orderservice에서 user정보 사용에 대한 다른 비슷한 질문들을 봤습니다.서비스간 테이블을 각각 만들어서 동기화를 하거나 orderservice에서 userservice api를 사용하는 방법이 있다는 답변 보았습니다.이경우는 주문 한건에 대한 내용인것 같습니다. 그렇다면 여러사용자가 주문한 주문목록에 사용자정보를 들고오려면(게시판-회원과 동일) 어떻게 설계가 되어야하나요?orderservice에서 주문목록을 조회하고 그 리스트를 돌면서 userservice api에서 유저정보를 조회하면 N+1문제와 같은 상황 발생할 것 같은데 무조건 테이블을 각각 생성해야하나요? 일반적으로 어떻게 처리하는지 궁금합니다! 두서없는 질문 정말 죄송합니다..
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
도커 관련하여 질문이 있습니다.
안녕하세요. 강의 잘 듣고 있습니다.도커를 이용하여 linux기반으로한 mysql 컨테이너를 만들었는데, 그럼 해당 컨테이너는 오직 3306포트를 사용하는 mysql만을 위한 컨테이너 인가요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
HttpTraceRepository를 찾을수가없는데 어떻게해야하나요
메이븐에 dependency추가해도HttpTraceRepository를 찾을수없는데 어떻게 진행해야할까요?ㅜ
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
로그인 실패 시 응답이 html로 옵니다.
비밀번호를 틀리게 주어 로그인 시도했을 경우 강의와 다르게 응답이 html로 옵니다.. 어떻게 강의처럼 json으로 바꿀 수 있나요??<!doctype html> <html lang="en"> <head> <title>HTTP Status 401 – Unauthorized</title> <style type="text/css"> body { font-family: Tahoma, Arial, sans-serif; } h1, h2, h3, b { color: white; background-color: #525D76; } h1 { font-size: 22px; } h2 { font-size: 16px; } h3 { font-size: 14px; } p { font-size: 12px; } a { color: black; } .line { height: 1px; background-color: #525D76; border: none; } </style> </head> <body> <h1>HTTP Status 401 – Unauthorized</h1> <hr class="line" /> <p><b>Type</b> Status Report</p> <p><b>Message</b> Unauthorized</p> <p><b>Description</b> The request has not been applied because it lacks valid authentication credentials for the target resource.</p> <hr class="line" /> <h3>Apache Tomcat/9.0.62</h3> </body> </html> 강의 화면
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
apigateway-service에서 @EnableDiscoveryClient 관련 질문드립니다.
안녕하세요! 먼저 좋은 강의 감사드립니다. 수강 중 궁금한 부분이 생겨 글 작성합니다.user-service 프로젝트에서는 @EnableDiscoveryClient 을 추가해주었는데, apigateway-service와 catalog-service에서는 @EnableDiscoveryClient를 추가해주지 않아서 그 이유가 궁금하여 질문드립니다.@EnableDiscoveryClient 는 eureka server에 등록하기 위한 어노테이션이라고 이해했습니다.user-service 와 마찬가지로 apigateway-service, catalog-service에도 아래 설정은 추가되어서 eureka server에 등록되는 것이라고 생각하였는데 왜 위 어노테이션은 빠진 것인지 궁금했습니다! 그리고 위 어노테이션과 아래 설정의 정확한 의미 차이도 궁금합니다. 감사합니다!!eureka: client: register-with-eureka: true fetch-registry: true
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
API Gateway를 통해 라우팅 시 user service로 전달되는 요청 url에 대해 질문 드립니다..!
안녕하세요 선생님 강의 정말 잘 듣고 있습니다..!혹시 더 좋은 방법이 있을까 싶어 질문 드립니다. spring: application: name: api-gateway cloud: gateway: routes: - id: A uri: lb://USER-SERVICE predicates: -Path=/user-service/**위와 같이 gateway 설정을 하게 되면,user service에도 /user-service/ 라는 path가 같이 합해져 요청 url로 전달되어,Controller의 /user, /health-check, /welcome 같은 매핑을 모두 /user-service/user, /user-service/health-check, /user-service/welcome 으로 변경하라고 말씀 주셨습니다혹시 이렇게 컨트롤러의 매핑 정보를 변경하지 않고,api gateway 단에서 필터를 이용해 사용자 요청 url을 조작해서 라우팅 할 수 있는 방법이 있을까요..??
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
jar와 war 패키징 차이 관해서 여쭤보고 싶습니다!
users microservice 프로젝트 생성 시, jar와 war의 차이에 대해서 언급해주신 부분에 대해 궁금한 점이 있어 질문 드립니다! 설명 해주시기로, jar로 패키징 시 임베디드 톰캣을 통해 실행이 된다고 하셨는데, IDE에서 프로젝트 실행 시에도 jar는 jre를 통해서 실행되는 것이 아닌가요?.. war로 패키징하는 프로젝트가 웹 어플리케이션 구조로 임베디드 톰캣에 의해 기동된다고 알고 있어서 혼란스러운 부분이 있어서요! 제가 IDE에서 기동할 때와 그냥 서버 위에서 기동할 때를 혼돈하고 있는 걸까요??..
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
/health_check를 실행했을 때, 값이 바뀌지 않습니다.
안녕하세요.user-service application.ymlspring: application: name: user-service cloud: config: name: ecommerce config: import: optional:configserver:http://localhost:8888포스트맨에서, POST방식으로 actuator/refresh를 실행했을 때,org.springframework.cloud.config.server.environment.NoSuchLabelException: No such label: main위와 같은 에러가 발생해서 main 브랜치를 추가했더니, actuator/refresh를 실행했을 때 에러가 발생하지 않게 되었습니다.예를 들어, token.secret 값을 변경하고 main브랜치에 커밋한 후, actuator/refresh를 실행하면 정상적으로 refresh가 되는 것 같습니다.[ "config.client.version" ]http://localhost:8888/ecommerce/default 에서도 값이 변경되는 것을 확인했습니다. "source": { "token.expiration_time": 86400000, "token.secret": "user_token2", "gateway.ip": "192.168.0.8" }그런데, /health_check를 실행해보면 새로운 값으로 변경되지 않습니다.It's working in user service, port(local.server.port)=61250, port(server.port)=0, token secret=user_token1, token expiration time=86400000어디가 잘못된 건지 혹시 알 수 있을까요?
- 미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요 강사님 질문있습니다.
현재 스프링부트 버전맞추고 클라우드버전도 강사님과 똑같이 맞췄는데 유레카서버 띄우고 유저서비스 띄우면 유레카에서 발견되는데 그 이후에 유저서비스를 종료하면 유레카에서도 사라져야하지않나요?? 그런데 저는 계속 남아있습니다.. 새로 유저서비스를 실행하면 또 등록이 되고 있는 상태인데 어떻게 해결할 수 있을까요??