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이 여..
Backend
해당 내용은 인프런 이도원님의 "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. 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..
1. 매핑 관계에서 다대일? 단방향? 양방향? 매핑을 설명할 때 다대일, 단방향, 양방향 이러한 이야기가 나오곤한다. 먼저 다대일의 개념을 설명하면 다음과 같다. 학창 시절 학생들은 특정 반에 속해있다. 이러한 관계를 다대일이라고 한다. 이를 표현하면 아래와 같다. 그렇다면 단방향? 양방향은 무엇일까? 엔티티를 정의할 때 한쪽 엔티티에만 다른 엔티티를 정의하면 단방향 연관관계, 양쪽에 각각 정의를 하면 양방향 연관 관계라고 한다. 2. mappedBy? JPA의 경우 mappedBy를 명시하지 않으면 두 엔티티가 양방향 관계임을 모르게 된다. mappedBy란 JPA 엔티티의 양방향 연관관계에서 연관관계의 주인을 표기해주는 옵션이다. 3. 연관관계의 주인이란? 연관관계의 주인이란? FK를 관리하게 되는 ..
1. 서두 JAVA 개발, 혹은 공부를 하다보면 래퍼 클래스에 대해 자주 접하게된다. 래퍼 클래스란 무엇이고 왜 필요한지에 대해 정리를 해볼까 한다. 2. 래퍼 클래스(wrapper class)? wrapper란 우리가 흔히 영어에서 사용하는 것과 같이 무엇인가를 포장할 때 사용되는 단어이다. 자바의 자료형은 총 8개의 기본 타입이 있다. 이를 우리는 primitive type이라고 부른다. 때때로 기본형의 자료 타입을 객체화가 필요한데 기본형의 자료 타입을 객체화 해준 것을 래퍼 클래스라고 한다. 기본형과 래퍼 클래스는 다음과 같다. Primitive Wrapper Class byte Byte short Short int Integer long Long flat Float double Double ch..