해당 내용은 인프런 이도원님의 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)"를 듣고 정리한 내용입니다. 1. Spring Cloud Gateway(SCG)란? API Gateway 서비스로 전달되는 모든 API요청의 관문 , Gateway 역할을 하는 서버 시스템의 구조를 내부로 숨기고 외부의 요청에 대해서만 응답하기 때문에 클라이언트는 약속한 형태의 API요청을 서버로 전달 인증/인가, L/B & 라우팅, 로깅, Circuit Breaker의 역할을 수행한다. Srping Cloud Gateway Spring에서 제공하는 Gateway로 Netflix Zuul을 대체. 특징 논블로킹(non-blocking), 비동기(Asynchronous) 방식의 Netty Server를 사..
분류 전체보기
1.Eureka Client Random Port 지정 일반적인 환경에서는 지정된 PORT를 사용하여 어플리케이션을 운영한다. 그러나 MSA와 같이 LB 환경을 위해 여러 서비스를 등록하거나 자동으로 서비스가 증가되어야 하는 상황에서는 random port를 이용한다. 동일한 서비스를 여러개 실행하는 경우라면, 관리자가 매번 PORT 번호를 지정하는 것도 한계가 존재함. random port 설정 방법 - yml 파일에서 port번호를 0번으로 설정. server: port: 0 # port : 0 #random port 사용 random port 설정 후 Eureka Server에서는 서비스 목록 2개가 정상 노출 된다. 그러나 위와 같이 설정할 경우 동일한 service application이 여..
해당 내용은 인프런 이도원님의 "Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)"를 듣고 정리한 내용입니다. 1. Spring Cloud Netflix Eureka란? Netflix Eureka란? 넷플릭스에서 MSA를 위해 Spring Cloud에 기부한 오픈 소스이다. MSA에서 회원, 상품, 주문 등등 각각의 서비스들에 대한 정보를 저장하여 외부에서 서비스 호출 시 그에 맞는 서비스 서버로 전달해주는 미들웨어이다. 2. Service Discovery? Client가 서비스를 호출할 때 서비스의 위치(즉, IP와 PORT 정보)를 알아야 호출할 수 있는데 이러한 정보들을 저장, 관리하는 것을 Service Discovery라고 한다. 구현 방법은 크게 Client-side D..
1. 오류 현상 터미널에서 Git 명령어(commit, restore 등등)로 VS code를 호출할 때 종종 'code --wait:code:command not found' 오류가 발생하는 경우가 있다. 분명히 전에 Path 등록을 완료 후 잘 사용하고 있었지만 다음날 또 안돼는 경우가 자주 발생한다. 2. 조치 방법 VS Code 실행 명령팔레트 실행 (단축키 : ⇧⌘P) 상단 입력창에 Shell Command 입력 첫번째 줄에 Install code 클릭 후 설치 완료 팝업 확인 터미널에서 Git 명령어 수행 후 정상 여부 확인 3. 조치방법 -2 2022.4.6에 추가된 내용입니다. 해당 이슈에 대해 영구적으로 추가하기 위해서는 .bash_profile 또는 .zshrc 파일에 아래 내용을 추가..
1. Java 7 Type Inference(타입 추론) : 타입이 정해지지 않은 변수의 타입을 자바 컴파일러가 유추하는 기능 //Java6 List list1 = new ArrayList(); //Java7 //별도 제네릭 없이도 String 타입임을 추론할 수 있게됨. List list2 = new ArrayList(); String in switch : switch-case문 에서 문자열이 가능 //case 문에 문자열 가능 swith (a){ case "test1": System.out.println("test1"); break; case "test2": System.out.println("test2"); break; default break; } Automatic Resource Manageme..
1. Bulk Update는 어떻게? Spring JPA에서는 변경감지(Dirty Checking)에 의해 엔티티가 변하게 되는 경우 영속성 컨텍스트에 의해 자동으로 Update문이 수행된다. 그런데.. 만약 30개.. 40개.. 100개 .. 벌크성 데이터를 Update해야하는 경우가 발생할 경우 어떻게 해야할까? Spring JPA에서 제공하는 변경감지에 의존하여 벌크성 데이터를 Update 하게 되면 성능에 영향을 줄수밖에 없다. 그렇기에 Spring JPA에서는 JPQL을 통한 Bulk Update를 지원하고 있다. 2. Spring JPA에서 Bulk Update 사용법 사용법은 간단하다. @Query로 Update 쿼리를 작성후 @Modifying 어노테이션을 추가해주면 된다. @Modifyi..