묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Boot 최신 3.XX 버전 Security 설정 공유드립니다.
최신 버전 진행하시는 분들을 위해 공유드립니다.Spring Security Configuration 설정 내용이 변경되었습니다. WebSecurityConfigurerAdapter 클래스가 deprecated되었는데요. 해당 클래스를 상속 받아 config 메소드를 구현하는 대신 SecurityFilterChain을 반환하고 직접 Bean으로 등록하도록 설정 방법이 바뀌었습니다. package com.example.userservice.security; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity public class WebSecurity { private static final String[] WHITE_LIST = { "/users/**", "/**" }; @Bean protected SecurityFilterChain config(HttpSecurity http) throws Exception { http.csrf().disable(); http.headers().frameOptions().disable(); http.authorizeHttpRequests(authorize -> authorize .requestMatchers(WHITE_LIST).permitAll()); return http.build(); } } 강의 내용을 진행하기 위해서 강의에 나온 설정을 위처럼 설정해보았는데요. 일단 이렇게 설정하면 강의를 진행하는데 문제 없을 것이니 참고 바랍니다~
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
gradle
안녕하세요만약 9003번을 커맨드라인에서 gradle 명령어로 띄우려면 어떻게 해야하나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka 설정 관련해서 올려주신 goolge drive 링크가 만료되었습니다
Error: Could not find or load main class org.apache.kafka.connect.cli.ConnectDistributedCaused by: java.lang.ClassNotFoundException: org.apache.kafka.connect.cli.ConnectDistributedkafka connect 설정도중 위의 에러가 해결되지 않아 통합 파일을 받으려했는데 페이지를 찾을 수 없다고 나옵니다.https://www.inflearn.com/questions/601451/windows-kafka-%EC%A0%95%EC%83%81-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94-%EB%B2%84%EC%A0%84-%EC%A0%9C%EA%B3%B5%EB%AC%B8%EC%9D%98https://drive.google.com/file/d/1GDrBskzAE4Y_GojNeXhGeN2YeMFrpFe-/view?usp=sharing링크 공유 다시해주시면 감사하겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Order 서비스의 도메인
Order Service URL 주소에서IP:PORT/user/{user-id}/order 이렇게 주소를 주셨는데Restful API 에서 주문 도메인에 있는 정보를 유저 아이디 값으로 가져오고 싶을 때GET ip:port/order?user-id='' 로 가져와도 상관없을까요? 이게 API 디자인 가이드에 위배 되는 행위인지 궁금합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Actuator를 통해 앱을 재시작하지않고 DB 커넥션변경 가능할까요?
Actuator와 cloud bus라는 좋은 기능을 보면서 궁금증이 생겼습니다!이를 통해 자바 어플리케이션을 재시작하지않고 DB 커넥션변경 가능할까요??actuator로 db를 계속 변경 할 수 있으면 너무 좋을 것 같습니다!!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
인증 관련해서 질문드립니다.
안녕하세요. 정말 유용한 강의 해주셔서 감사드립니다. 인증 처리 관련해서 궁금한점이 있어 질문 드려요!!궁금한점은 로그인 이외 요청에서는,AuthenticationFilter 를 통과하지 않고 진행되는 것인가요?.antMatchers("/**") .hasIpAddress("172.30.1.60") .and() .addFilter(getAuthenticationFilter()); 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카에 잘못된 데이터를 보냈을 때 해결 방법이 궁금합니다
제가 처음에 json 파일을 아예 잘못된 형식으로 보내는 바람에 kafka sink connector가 fail 상태가 되었었습니다.근데 문제는 이 상태에서 sink connector를 재실행을 해도 source connector랑 sink connector, topic까지 모두 새로 만들어도 계속해서 task에 잘못 요청한 데이터가 남아있어서 아무리 오랜 시간을 기다려도 계속해서 Exception이 발생한 상태가 되어 있습니다..결국 한참을 구글링하면서 찾아보다가 토픽 내에 있는 메세지를 삭제하는 방법을 찾아서 해결했습니다 ㅜㅜ 여기서 제가 궁금한 점은source connector에 잘못된 정보를 보내는 바람에 sink connector가 먹통이 되어버리면 메세지나 토픽 자체를 수동으로 삭제해주는 것 외에는 방법이 없을까요? 구글을 찾아봐도 마땅한 방법을 찾지 못했습니다이건 제가 카프카에 대해 아직 똑바로 이해하지 못해서 나온 질문인데, connector랑 topic까지 모두 따로 만들어도 하나의 sink에서 문제가 생기면 모든 커넥터가 정상적으로 동작하지 않는 게 원래 이런 게 맞는 건지 궁금합니다. 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
파일들의 내용이 자꾸 과거로 돌아가는데 혹시 이런 현상 아시나요?
사용 환경은 맥, intellij입니다spring config 시작한 뒤로 이러는데yml파일이나 xml(메이븐)파일을 수정해놔도 어느 순간 이상해서 보면 수정 전으로 돌아가있습니다 ㅜㅜ인텔리제이 캐시도 초기화해봤고 git에도 올려서 커밋까지 했는데 왜이러는지 모르겠어요..강의랑은 무관한 질문인 것 같아서 망설이다가 이것 때문에 전혀 진도를 나가지 못하고 있는 상황이라 여쭤봅니다혹시 모르신다면 제가 알아서 잘 해결해보겠습니다! 불필요한 질문 드려 죄송합니다.
-
미해결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)
HttpTraceRepository를 찾을수가없는데 어떻게해야하나요
메이븐에 dependency추가해도HttpTraceRepository를 찾을수없는데 어떻게 진행해야할까요?ㅜ
-
미해결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에서 기동할 때와 그냥 서버 위에서 기동할 때를 혼돈하고 있는 걸까요??..