Spring 제공하는 캐시 추상화를 통해 캐시 구현에 대해 신경 쓸 필요없이 개발자는 어노테이션을 통해 쉽게 캐싱 기능을 사용할 수 있다. > 개발자는 캐시를 사용하는데 있어 비즈니스 로직 코드가 변경되지 않을까 하는 것에 대해 망설일 필요 없이 쉽게 인프라스트럭쳐를
보통 운영에 필요한 설정 정보들을 properties 혹은 yml에 작성해 관리하는데, 위 파일들에 작성한 내용들을 Spring Bean으로 등록되는 클래스 내의 바인딩해 활용할 수 있다. 아래와 같은 설정 정보가 있다고 가정해보자. 먼저 @Value 어노테이션을
Spring Boot에서는 @Async 어노테이션을 사용해 비동기 처리를 손쉽게 구성할 수 있다.@Async 어노테이션 사용법과 사용시 몇가지 주의사항이 있는데 모두 알아보도록 하자.먼저 @Configuration Bean에 @EnableAsync 어노테이션을 추가해야
만약 junit5를 포함하고 있는 dependency를 현재 진행하는 프로젝트에서 dependency로 추가했다면 의존성 상속으로 인해 따로 Junit5를 dependency로 추가하지 않아도 사용할 수 있다. Optional 태그는 이런 상황에서 발생할 수 있는 중
Spring에서는 Spring Cloud Stream이라는 메시징 시스템을 추상화한 구현체를 제공합니다. Spring Cloud Stream Spring cloud stream을 사용하는 애플리케이션은 미들웨어(Kafka, rabbitMQ 등) 과 직접적인 의존관계에 있지 않고, Spring cloud stream에서 제공하는 Binder라는 구현체를 ...
얼마전 웹서핑하다가 문뜩 이런 생각이 떠오르더군요..“학교에서 배웠던 방식(도메인이 자신의 조회수를 직접 갖고 있는 설계 방식)으로 과연 조회수 관련해 대규모 트래픽을 처리할 수 있을까?”서비스를 제작하는데에 있어 대규모 트래픽이라는 단어는 무시하고 지나칠 수 없는 벽
Null-safety라는 개념을 알게되어 설정 방법에 대해여러분들께 공유하고자 포스팅을 진행하게 되었습니다^^우선 Spring에서 제공하는 null 관련 어노테이션은 총 4가지가 존재하는데요.@NonNull@Nullable@NonNullApi@NonNullFields각
Order 서비스와 Product 서비스 이 두가지가 있다고 가정해보겠습니다.사용자가 주문을 위해 주문 서비스로 요청중에 있습니다.주문 서비스는 사용자의 주문 정보를 받아 상품 서비스(외부 서비스)에 주문 상품들에 대한 기본 금액과 수량 정보를 요청합니다.여기서 만약
저번 포스팅에서 Hystrix가 무엇이고, 다양한 속성들과 간단한 사용방법에 대해 알아보았습니다.이번 포스팅에서는 Spring Boot환경에서 Hystrix를 어떻게 사용할 수 있는지에 대해 알아보도록 하겠습니다.가장 먼저 Hystrix를 Spring Boot에서 사용
서비스 API를 개발한 후 개발된 API 스펙을 프론트엔드 개발자와 공유하며 협업을 진행하게 되는데요 이때 구두로 API 스펙을 공유할 수도, 혹은 문서화 후 그 문서를 공유하며 협업을 진행할 수 있습니다. 저희 팀에서는 얼마전까지만 해도 API 개발을 마친 후 노
지금까지 단순히 레이어를 테스트하는데에 있어 @SpringBootTest 어노테이션을 만을 사용해 테스트를 진행했었습니다.그러다보니 애플리케이션의 규모가 커짐에 따라 테스트 속도가 현저히 떨어져 개발 생산성이 점점 저하되는 상황에 놓이게 되었습니다.이 문제를 해결하기
Hystrix에 대해 알고 싶으신 분은 이전 포스팅을 확인해주세요.회사에서 서비스를 구현하며 조회에 대한 Redis 캐시를 적용하기 위해 CacheManager를 재정의 하였습니다.RedisCacheManager를 적용한 후 Redis의 장애로 인해 서비스가 영향을 받