반응형 All57 SpringBoot + Gradle기반의 EhCache 사용 오늘은 Cache에 대해 알아보려고 한다. 변동되지 않는 Data를 많은 사용자가 조회할 경우 모든 요청마다 DB에 조회 하는게 과연 올바른 방식일까? 게다가 slow query일 경우 사용자의 대기시간은 더욱 길어지며, Connection pool의 순환도 쉽지 않을 것이다. cache를 통해 이러한 상황을 해결해보자! 💡 Cache ? Cache는 DB 조회 시 출력된 결과 값을 메모리 혹은 디스크에 보관하고 있다가 재호출시 DB 조회를 하지 않고 메모리에 있는 결과값을 그대로 제공해준다. 이러한 특성 때문에, Cache는 주로 반복적으로 동일한 결과값을 제공해주거나, 각 작업의 시간이 오래걸리거나 서버에 부하를 주는 경우 보통 사용한다. 실제 프로젝트를 하는 사례가 아니기 때문에 Redis같은 No.. 2022. 2. 10. Spring cloud를 통해 MSA 구현해보기 - 3탄 Eureka, API Gateway를 통한 서버사이드 서비스 디스커버리 패턴 구현 이제 서비스 앞단에 API Gateway를 위치시키는 ServerSide Service Discovery 패턴을 구현하고자 한다. 먼저 API Gateway가 먼지 araboja. API Gateway란? API Gateway는 API의 요청자인 Client와 Server를 연결하는 중계자(proxy) 역할이다. API Gateway의 이점을 정리하면 아래와 같다. 인증/인가 일괄 처리 로드밸런싱을 통한 트래픽 분산 로깅처리 서킷 브레이크 통한 서비스 관리 이러한 API Gateway를 사용할 수 있는 오픈 소스에는 Netflix Zuul, Spring cloud gateway, ServiceComb EdgeService 등이 있다. 원래 Netflix Zuul을 이용하고자 했지만, Spring boot.. 2022. 2. 8. Spring cloud를 통해 MSA 구현해보기 - 2탄 Eureka를 통한 클라이언트 사이드 서비스 디스커버리 패턴 구현 자, 이제 차분하게 MSA를 구성해보기 위한 밑그림을 그려보자.. MSA는 각각 흩어진 서비스간의 원격 호출로 구성된다. 원격 호출을 하기위해 각각 서버에 대한 IP와 PORT를 이용한다. 기존 하드웨어 기반의 시스템에서의 서비스 인스턴스는 상대적으로 정적이다. 그러나 최근 많이 사용하는 클라우드 기반 환경에선 네트워크 정보가 동적으로 바뀔 수 있다. 그러면 이런 동적으로 변하는 네트워크 정보를 어떻게 관리해야할까? 유용하게 쓰는 방법이 있다. MSA처럼 흩어져있는 분산시스템들의 수시로 변하는 네트워크 정보에 관한 관리포인트를 줄이기 위해 사용하는 패턴이 서비스 디스커버리 패턴(Service Discovery) 이다. Service Discovery 각 서비스들의 네트워크 위치 정보(IP, Port)를 .. 2022. 1. 19. Spring cloud를 통해 MSA 구현해보기 - 1탄 MSA란 무엇인가? MSA란 무엇일까..? 요새 어떤 요구사항을 봐도 MSA라는 단어를 심심찮게 볼 수 있다. 그만큼 많은 기업들이 MSA(Microservices Architecture) 아키텍쳐에 관심을 가지고 도입하는 추세이다. 과연 기존과 어떤 점이 차별화 돼 있길래 이 MSA 아키텍쳐를 사용하는걸까? 먼저, 과거를 보자. 기존 대부분의 기업용 애플리케이션은 하나의 거대한 서비스 형태로 개발되어 왔다. 이 형태는 모놀리식 아키텍쳐(Monolithic Architecture, MA)라는 개념을 기반하며, UI 부터 DB접근까지가 하나의 애플리케이션으로 패키징되고 서버에 배포되어 왔다. 이에 대응하기 위해 MSA개념이 떠오르기 시작했다. 경량화되고 독립적인 여러 개의 서비스를 조합하여 애플리케이션을 구현하는 방식으로, .. 2022. 1. 13. 이전 1 ··· 8 9 10 11 12 13 14 15 다음 반응형