분류 전체보기72 Spring Cloud Config Spring Cloud Config 는 분산 시스템에서 설정 정보(application.yml) 를 외부에 보관할 수 있도록 지원해주는 서비스이다. 이러한 Spring Cloud Config 를 이용했을 때 얻을 수 있는 장점은 다음과 같다. 여러 서버의 설정 파일을 중앙 서버에서 관리할 수 있다. 각 서비스(서버)를 재배포 하지 않고 설정 파일의 변경사항을 반영할 수 있다. 애플리케이션 배포 파이프라인을 통해 DEB-UAT-PROD 환경에 맞는 구성 정보 사용가능 실제로 설정파일이 저장되는 Config 저장소(Git Repository, File System 등)가 있고, 이러한 저장소와 연결되어 설정파일을 관리해주는 Spring Cloud Config Server 가 있다. 마지막으로 Spring C.. 2022. 8. 22. API Gateway Service 사용(Spring Cloud Gateway + Eureka) Spring Cloud Gateway와 Eureka를 이용해서 API Gateway Service를 실행해보자 그렇기 위해선 FirstService와 SecondService, apigateway-service를 discovery service(Eureka)에 등록해야한다. 클라이언트가 " http://localhost:8080/first-service/welcome "로 요청을 보내면 API Gateway가 먼저 받는다. 이제 API Gateway는 " /first-service/** " 이하는 어떤 uri로 가야하는지 discovery service에게 물어보고 discovery service가 어떤 IP 주소와 포트로 가야하는지 알려주면 API Gateway는 해당 주소로 요청을 보내게 된다. 우선.. 2022. 8. 17. 프로젝트 실행시키는 3가지 방법 우선 하나의 서비스를 여러개 기동 시키는 방법은 3가지가 있다. 1) VM Options -> -Dserver.port=[다른포트] 2) $ mvn(./mvnw) spring-boot:run -Dspring-boot.run.jvmArguments='-Dserver.port=-9003' 랜덤포트면 $ mvn(./mvnw) spring-boot:run 만 입력하면 된다. 3) $ mvn clean compile package -> 이거 하면 jarfile이 target 폴더에 생성된다. $ java -jar -Dserver.port=9004 ./target/user-service-.0.0.1-SNAPSHOT.jar 참고로 3번은.. 인텔리j 터미널에서하면 Error: Unable to access jarfi.. 2022. 8. 17. ./mvnw clean compile package 명령 시 Fatal error compiling: invalid target release: 11 에러 해결 인텔리j 터미널에서 프로젝트 위치에서 ./mvnw clean compile package 명령어를 입력했는데 다음과 같이 에러가 발생한다. PS C:\Users\taekg\IdeaProjects\Inflearn\msa\firstService> ./mvnw clean compile package [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------- [INFO] Building first-service 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]-----------------------.. 2022. 8. 17. JPA 사용 시 쿼리 방식 선택 권장 순서(컬렉션 조회 할 때) 정리 엔티티 조회 엔티티를 조회해서 그대로 반환: V1 엔티티 조회 후 DTO로 변환: V2 페치 조인으로 쿼리 수 최적화: V3 컬렉션 페이징과 한계 돌파: V3.1 컬렉션은 페치 조인시 페이징이 불가능 ToOne 관계는 페치 조인으로 쿼리 수 최적화 컬렉션은 페치 조인 대신에 지연 로딩을 유지하고, hibernate.default_batch_fetch_size , @BatchSize 로 최적화 DTO 직접 조회 JPA에서 DTO를 직접 조회: V4 컬렉션 조회 최적화 - 일대다 관계인 컬렉션은 IN 절을 활용해서 메모리에 미리 조회해서 최적화: V5 플랫 데이터 최적화 - JOIN 결과를 그대로 조회 후 애플리케이션에서 원하는 모양으로 직접 변환: V6 권장 순서 1. 엔티티 조회 방식으로 우선 접근.. 2022. 8. 14. Cloud Native Application Cloud Native Architecture 특징 확장 가능한 아키텍처 시스템의 수평적 확장 시스템 부하 분산, 가용성 보장 서비스 어플리케이션 단위 패키지 (컨테이너 기반 패키지) 모니터링 탄력적 아키텍처 어플리케이션의 각기능을 서비스로 생성 - 통합 - 배포을 CI/CD자동화 파이프라인을 통해 처리, 환경 변화 대응시간 단축 작게 분리된 독립적인 서비스들이 분할된 구조 무상태 통신 프로토콜, 종속성 최소화 서비스 추가와 삭제 자동으로 감지 변경된 서비스 요청에 따라 사용자 요청 처리 (동적 처리) 장애 격리 특정 오류가 나더라도 다른 서비스에 영향을 주지 않는다. Cloud Native Application 지속적인 통함, CI(Continuous Integration) 결과물을 통합하기위한 형상관.. 2022. 8. 10. 이전 1 2 3 4 5 6 7 8 ··· 12 다음