현재 진행중인 게시판 프로젝트의 버전업을 위해 기능 추가 말고 어떤 걸 할 수 있을까 고민하다가 예전에 얼핏 듣고 넘어갔던 MSA를 현재 프로젝트에 적용해 보기로 했다.Board와 Member 그리고 인증을 위한 JWT와 OAUTH로 이루어진 아주 작은 프로젝트지만 이

01\. Eureka란?

Chapter 2에서는 Service Discovery의 개념과 Eureka 라이브러리를 활용하여 Client-Side Discovery를 구현하고, 각 서비스의 연결 정보를 관리하는 체계를 구축하였다.이번 글에서는 이렇게 Eureka에 등록된 여러 서비스를 외부 클라

현재 마이크로 서비스들의 설정 파일들은 각각의 애플리케이션 내부에 존재한다.이렇게 설정 파일들이 각 마이크로 서비스 내부에 존재하는 경우 생산성, 운영적 측면에서 문제가 발생하게 되는데예를 들어1\. 성능 테스트를 위해 설정 파일에서 어떤 설정의 수치를 조절해가며 테스
이전 포스트에서 Spring Cloud Config를 설정해 봤다.그럼 이제 Spring Cloud config 설정도 끝났겠다 외부의 설정파일을 마음대로 수정하면 처음에 말했던 대로 기동중인 애플리케이션의 설정 정보들이 실시간으로 바뀌게 될까?애석하게도 그렇지가 않다
프로젝트를 도메인 별로 각각의 마이크로 서비스로 만들어 Service Registry에 등록도 해보았고 등록된 서비스를 Api Gateway를 통해 하나의 진입점을 통해서 접속할 수 있도록 만들어 놓기도 했다. 각각의 서비스는 분리해 놓으니 오히려 필요한 부분만 갖게
1. 서비스 장애 처리는 왜 필요한가? 이전 포스트에서 MSA의 마이크로 서비스 간 통신에 대해 알아보았는데 이렇게 현재 외부에서 필요한 데이터를 요청하는 구조를 가진 MSA에서 만약 데이터를 요청해야 하는 해당 서버에 장애가 생긴다면 어떤 일이 일어날까? 이전 포스
0. 들어가기 전 기존의 모놀리식 구조에서는 각 도메인뿐만 아니라 도메인을 영속화하는 DB까지 하나의 애플리케이션에 존재했다. 따라서, 두 개 이상의 서비스를 거쳐야하는 프로세스에서도 DBMS가 기본적으로 제공하는 트랜잭션 기능을 통해 한 번에 트랜잭션으로 묶어 원자성
Kafka는 '대규모 실시간 데이터 스트리밍'을 처리하는 데 사용되는 '분산 이벤트 스트리밍 플랫폼'이다.이렇게 단어들을 나열해 놓으면 이해하기 힘들 수 있으니 하나하나 짚어보자우선 '대규모 실시간 데이터 스트리밍'이란 실시간으로 발생하는 큰 양의 데이터를 지속적이고