Welcome to the cloud, Spring

Welcome to the cloud, Spring 프로그래머 세상에서 요즘 아이크로 서비스는 메인 화두중에 하나이다. Microservice은 distributed, loosely coupled 소프트웨어 서비스이며, 잘 정의된 태스크들을 처리하는 시스템이다. (여기서 개인적으로 잘 정의된 태스크라는 부분이 가장 중요한 포인트인것 같다.) Monolithic Architecture 하나의 배포 아티팩트로 시스템에 배포하는 방식이다. 모든 UI, 비즈니스, 데이터베이스 엑세스 로직 등이 모두... [Read More]

\[스터디\] 스프링 마이크로 서비스 인 액션

스프링 마이크로 서비스 인 액션 마이크로 서비스 아키텍처는 이제 대세인가보다. 예전 Monolithic 아키텍처로는 대규모의 시스템을 개발 운영하는데 많은 에너지가 소모된다. 버젼관리, 개발진행중 발생되는 컨플릭, 장애를 해당 발생 지점에 고립시키지 못하고 전체 시스템에 재앙을 초래 하기도 한다. 최근 나는 티맵 택시 설계를 담당하면서 Spring Cloud를 활용하여 MSA를 설계하고 구현하였다. 각각의 서비스... [Read More]

The Reactive Manifesto

Reactive Manifesto 요약 원문 : https://www.reactivemanifesto.org/ 배경 서로 분리되어 있는 조직에서 업무를 수행하는 조직들은 소프트웨어 빌딩을 위한 독립적인 패턴을 가지고 있다. 이러한 시스템은 더욱 견고하고, 더 회복이 쉬우며, 더욱 유연하고 현대의 요구사항을 더욱 쉽게 수용할 수 있다. 이러한 변화는 최근 몇년간 드라마틱한 요규사항의 변경으로 인한 것이다. 불과 몇 년전까지만 해도... [Read More]

RabbitMQ Install On Mac

Local Rabbit MQ 설치 .(MAC) 1. xcdoe license accept처리하기 sudo xcodebuild -license accept 2. 인스톨하기. brew install rabbitmq 3. rabbit MQ 디렉토리 cd /usr/local/Cellar/rabbitmq/3.6.1/sbin 4. rabbit MQ 서버 실행하기. ./rabbitmq-server 5. rabbit MQ 사용자 추가하고 admin권한주기 ./rabbitmqctl add_user kido kido ./rabbitmqctl set_user_tags kido administrator 사용자 비번 수정하기 ./rabbitmqctl change_password kido... [Read More]

QueryDSL Group By 처리하기.

Query DSL로 Group By 처리를 수행하여 집계 연산 결과를 받아오는 테스트를 수행해보자. 아래 예제는 여러건의 집계 결과를 리스트로 받아오는 테스트이다. 우선 StatusSummary라는 결과를 담아올 객체를 생성한다. StatusSummary.java @Data @AllArgsConstructor(access = AccessLevel.PUBLIC) public class StatusSummary { @NotNull private Long id; @NotNull private Long statusCode; @NotNull private Integer counts; } 결과를 받아오는... [Read More]