SpringBoot


API Gateway? Spring Cloud GateWay 공식 사이트에서 Spring Cloud GateWay 치면 나오는 화면을 캡쳐한 것이다. 간단하게 첫줄만 요약하면 API GateWay 를 구축하기 위해서 제공되는 Spring webFlux 나 Spring WebMVC 기반의 프로젝트 라고 한다. 쉽게 말하면 API GateWay 라는 모듈을 구축하기 위해서 Spring 에서 제공하는 컴포넌트 정도로 보면 될 것 같은데. API Gate가 무엇인지 잘 모르니 이것부터 알아보자 API Gateway?? 쉽게 설명해 달라고 가스라이팅 했는데, 말을 놔버린 챗지비티다. 싸가지가 없다. 예의없는 인공지능을 뒤로하고 여러 가지 문서를 찾아보고 내가 내린 API GateWay 를 사용하는 가장 큰 이유는..


REFERENCE 들어가기 전에 Spring Eureka 에 대한 이해를 기반으로 한 실습해 본 것 입니다. 이쁘게 봐주세요 Eureka Server | Develop Environment java version : 17 springboot : 3.2.2 Eureka Server | dependency - netflix-eureka-server ( 해당 dependency 만 필요 ) - lombok dependencies { implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.project..


들어가기 전에 Spring Eureka 에 대한 이해를 위해 작성한 글입니다. 이쁘게 봐주세요 Service Discovery & Service Registry 필요성 MSA 의 장점 중 하나가 부하량에 따라 인스턴스 개수를 동적으로 조절할 수 있다는 점이다. 덕분에 MSA 의 마이크로 서비스들의 인스턴스의 개수가 가변적이고 그에 따라 각각의 서비스들의 위치 파악이 힘들다. 효과적인 마이크로 서비스들의 관리 및 운영을 위해 필요한 것이 서비스 디스커버리와 서비스 레지스트리이다. Service Discovery 서비스 디스커버리는 MSA 에서 마이크로 서비스들의 위치를 찾기 위한 매커니즘이다. 즉 방법 같은 거다. - 클라이언트가 서비스 레지스트리를 조회 - 특정 프로토콜을 이용 클라이언트 어플리케이션이 ..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 영속성 컨텍스트를 통해 데이터를 관리하기 위해서는 엔티티 객체의 영속화가 필요하며, 엔티티의 생명주기를 관리해야한다. 이를 위해서 entityManager 에 있는 메소드 들에 대해서 알아보자 flush flush : 영속성 컨텍스트의 내용들을 데이터베이스화 동기화 하기 위해 사용하는 메소드 쓰기 지연 큐에 있는 쿼리들을 적용하여 동기화를 도와주는 메소드이다. commit 메소드 호출 시 자동으로 호출 된다. clear clear : 영속성 컨텍스트를 초기화 하는 메소드 persist persist : 비영속 상태의 엔티티를 영속화 하는 메소드 일반적으로 새로 생성한 엔티티 객체를 영속화 할 때 사용하는 메소드 이다. Spring DATA JPA 에서 R..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 목표 이전 까지 영속성 컨텍스트를 이해하기 위해 필요한 PesistenceUnit, EntityManager, EntityMangerFactory 에 대해서 알아봤다. 이번에는 영속성 컨텍스트 내부의 1차 Cache, 쓰기 지연 큐에 대해서 알아보자 쓰기 지연 큐 하이버 네이트의 쓰기지연 사실 JPA 에서는 쓰기지연을 구현하지 않는다. 하지만 JPA 구현체 중 하이버네이트에서 쓰기 지연을 구현하고 있고, 하이버네이트 구현체를 사용하고 있기 때문에 쓰기 지연 기능이 가능한 것이다. 엔티티가 영속화가 되면 영속화 된 엔티티의 정보가 쓰기 지연 큐 에 엔티티 쿼리 정보가 등록이 된다. 이후 특정 이벤트 발생 전까지 엔티티의 상태가 변경되면 변경 내용을 쓰기 지..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 목표 지난 번에 영속성 컨텍스트에 대해서 알아봤다. 영속성 컨텍스트는 데이터베이스의 테이블을 관리하기 위해서 엔티티라는 객체를 사용하여 데이터 조작을 한다. 엔티티의 생명 주기에 대한 이해를 통해 작동 원리에 대한 이해를 높여 보자 엔터티의 생명 주기 4 가지 비영속 ( new / Transient ) - 순수한 객체 상태이며, @Entity 로 선언된 객체 인스턴스 이며 영속성 컨텍스트에 등록되지 않은 상태 Member newMember = new Member(); 영속 ( Managed ) - @Entity 로 선언된 객체를 영속성 컨텍스트에서 관리하는 상태를 말한다. - 관리되는 상태에서 JPA 의 여러가지 API 를 사용할 수 있게 된다. - 영속..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 영속성 컨텍스트 영속성 컨텍스트 ( Persistence Context ) : 자바에서 데이터 베이스 테이블과 Mapping 할 객체 ( Entity ) 를 관리하는 환경 영속성 컨텍스트에 대한 이해를 위해 알아야할 내용들이다. PersistenceUnit JPA 를 사용하는 설정 정보와 DB 접속 정보를 담고 있는 단위로써 Persistence.xml 파일 형식으로 구성하거나 Spring 환경의 경우 application.yml 등의 어플리케이션 설정 파일에 정의할 수 있다. ( 사실상 SpringBoot 환경을 많이 사용하면 application.properties 나 application.yml 에 DB 접속 정보 및 JPA 설정 정보를 정의하기 때..


내가 JPA 강의를 보고 작성한 VELOG 시리즈 CSS 사용 출처 공부하게 된 계기 SpringBoot JPA 가 무엇인지, Hibernate 가 무엇인지 모르고 사용했었다. Querydsl을 SpringBoot 환경에서 사이드 프로젝트를 하면서 내가 사용하고 있는 것에 대해 너무 모른다고 생각이 들어 인프런에서 자바 ORM 표준 JPA 프로그래밍 - 기본편 등 여러가지 강의와 해당 강사님이 집필 하신 자바 ORM 표준 JPA 프로그래밍 책을 구매해서 공부하였고, 강의를 보고 무지성으로 정리를 했지만 스스로 정리해나가며 이해하는게 좋을 거 같아서 지금 이것을 작성중이다. JPA란 자바 진영에서의 ORM 표준 명세, 즉 자바 진영에서 사용하는 ORM 인터페이스들을 말한다. 자바에서 관계형 데이터 베이스의..