Spring Cloud OpenFeign이란? Spring Cloud OpenFeign은 선언적 웹서비스 클라이언트이다. RestTemplate과 같이 마이크로서비스 간의 통신에 사용하는 라이브러리이다. Spring Cloud는 Feign에 Spring MVC 애노테이션과 HttpMessageConverter를 지원하고, Eureka, Spring Cloud CircuitBreaker 및 Spring Cloud LoadBalancer를 통합하여 Load-Balanced HTTP 클라이언트를 지원한다. 기존의 RestTemplate은 반복적인 코드가 많고 유지 보수적으로 오래 유지하기 힘든 단점이 있었다. RestTemplate은 다음과 같은 작업들을 반복적으로 수행해야 한다. RestTemplate 인스..
Spring Boot Actuator란? 시스템을 운영하다 보면 시스템이 사용하고 있는 Thread, Memory, Session 등의 요소에 대해서 모니터링은 필수적인 요소다. 운영되는 시스템은 아무리 잘 만들어졌다고 할지라도 버그가 있을 수 있다. 우리는 이런 상황을 대비하기 위해서 모니터링을 해야 한다. Spring Boot에서는 Spring Boot Actuator라는 자체모니터링 툴을 제공한다. Spring Boot 공식 Reference에 나와있는 Actuator에 대한 간략한 설명이다. Spring Boot includes a number of additional features to help you monitor and manage your application when you push i..
스프링(Spring)이란? 스프링은 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. 정의를 하나씩 뜯어보자면 다음과 같다. 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 기업에서 운영하는 웹 서비스에는 비즈니스 로직이라는 것이 있다. 비즈니스 로직이란, 기업이 제공하는 서비스를 코드로 구현한 것으로, 사용자의 요구사항을 해결하기 위한 실질적인 코드를 의미한다. 스프링이 등장하기 이전에는 비즈니스 로직을 구현하기 위해 기술 자체에 대한 공부를 추가적으로 해야만 했다. 비즈니스 로젝을 구현하는 기술 자체가 복잡하고 어려웠기 때문이다. 그러나, 스프링은 이전 기술에 비해 사용 방법이 상대적으로 덜 복잡하다. 따라서, 개발..
POJO(Plain Old Java Object)란? Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로써 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용하게 된 용어이다. 2000년 9월에 마틴 파울러, 레베카 파슨, 조쉬 맥킨지 등이 사용하기 시작한 용어로써 마틴 파울러는 다음과 같이 그 기원을 밝히고 있다. 특정 '기술'과 환경에 종속되어 의존하게 된 자바 코드는 가독성이 떨어져 유지보수가 어렵고 확장성이 매우 떨어지는 단점이 있었습니다. 이는 객체지향 언어인 자바가 객체지향의 장점들을 잃어버리게 되는 것입니다. 그래서 POJO라는 개념이 등장했..