[구성] 마이크로서비스 아키텍쳐 구성요소
·
IT/Microservice
구성요소 설명 Git repository 소스 관리 및 프로파일 관리 설정서버(Config server) Git 저장소에 등록된 프로파일 연계 유레카 서버(Eureka Server) 마이크로서비스 register, discovery 줄 서버(Zuul Server) 마이크로서비스 부하 분산 및 서비스 라우팅 (API GateWay) ELK 로그 분석 큐잉 시스템 (Queueing System) 서비스 간 메세지 발행 및 구독 (Kafak Or Rabbit MQ) 터빈 서버 (Turbin Server) 마이크로서비스의 스트림 데이터 수집 히스트릭 대시보드 (Hystrix Dashboard) 스트림 데이터 모니터링 및 시각화 집킨 (Zipkin) 분산 트렌젝션이랑 여러개의 서비스를 걸쳐서 이루어 지는 트렌젝션..
[JPA] JPA Auditing
·
IT/Spring
엔티티에는 보통 해당 데이터의 생성,수정 시간이 포함한다. 예를 들어 새로운 회원이 언제 가입했는지, 그리고 로그인을 마지막으로 언제 했는지를 알기 위해서도 필요한 부분이다. 그럴 때 이제 엔티티마다 날짜 데이터를 등록/수정 하는 코드를 추가하게 되는데, 이럴 때마다 코드는 반복되고, 결국엔 지저분 해지는 결과를 초래한다. 이러한 문제를 해결하는 방법은 뭐가 있을까? 바로 "JPA Auditing" 이다. 1. BaseTimeEntity 만들고, @EntityListeners 을 통해 BaseTimeEntity 클래스가 Auditing 기능을 쓸 수 있도록 만든다. package com.incheol.app.domain.post; import java.time.LocalDateTime; import ja..
[JUnit] 테스트 기본 - 2
·
IT/Spring
오늘은 url 호출에서 parameter가 존재할 때 테스트를 어떻게 하는지 알아본다. 아래와 같이 name 과 age 파라미터를 통해 url을 Get으로 호출 하려고 할 때 코드와 테스트 코드를 어떻게 작성하는지 알아본다. http://localhost:8080/hello/dto?name=incheol&age=28 HelloResponseDto.java 을 생성한다. package com.incheol.app.web.dto; import lombok.Getter; import lombok.RequiredArgsConstructor; @Getter @RequiredArgsConstructor public class HelloResponseDto { private final String name; priv..
[JUnit] 테스트 기본 - 1
·
IT/Spring
개발에 있어서 테스트 코드는 중요하다. 테스트 중에서 단위 테스트는 기능 단위의 테스트 코드를 작성한다. 필자는 첫 회사인 씨xx에 입사를 했을 때 테스트 코드가 뭔지도 몰랐고, 회사에 있는 선임은 테스트 코드가 아닌 개발 방식을 사용해왔기에 실무에서는 코드를 짜고 바로 배포하고 화면에서 눈으로 확인하는 것인 줄 알았다. 그래서 개발을 할 때면 백단 코드 작성 war로 묶어서 export war을 서버에 설치되어있는 톰캣 서버로 파일 질라를 통해서 이동 톰캣 Stop, Start 인터넷 익스플로러를 켜서 화면에서 백단 코드와 연관되어있는 버튼 클릭 성공 또는 실패 실패시 1~5번 반복 이런 식으로 개발을 했었다. 그러다가 두 번째 회사로 이직을 하면서 TDD을 배우면서 테스트 코드가 뭔지 알게 되었고, ..