본문 바로가기

IT 지식/디자인 패턴2

[디자인 패턴] Singleton Pattern 한 클래스가 있고, 다섯 명의 사용자가 그 클래스를 이용한다고 하자. 그러면 기존의 자바에서는 각 사용자가 new 키워드를 이용해 그 클래스를 생성하고 이용하는 방식을 활용했다. new 키워드란 무엇인가? 새로운 객체를 만들어내는 키워드이다. 조금 구체적으로 말하자면, 객체에 메모리를 할당하여 새로운 객체를 메모리 상에 올리는 작업이다. 다섯 명이 각자 한 클래스를 new 키워드를 사용해 선언한다면? 당연히 다섯 개의 메모리가 할당된다. 물론 고작 다섯 개 가지고 OOM과 같은 에러가 발생할 리는 없다. 하지만 사용자들이 더 많아지면 당연히 더 많은 메모리가 할당되고, 그 수준이 서버가 감당할 수 없는 수준에 이르면 OOM이 일어나게 된다. 그렇다면 얼마나 많은 메모리를 사용하게 될까? 한 번 확인해보자.. 2021. 5. 24.
[디자인 패턴] MSA 아키텍처 MSA (Micro Service Architecture, 마이크로 서비스 아키텍처) 기존의 아키텍처 스타일은 모노리틱 아키텍처이다. 모노리틱 아키텍처는 모든 기능을 하나의 덩어리로 묶은 아키텍처이다. 예를 들어 쇼핑몰을 구축하는 데 다음의 기능 리스트들이 존재한다고 생각해보자. 1) 회원 관리 1-1) 회원 등록 1-2) 회원 정보 수정 1-3) 회원 탈퇴 1-4) 회원 정보 조회 2) 상품 관리 2-1) 상품 등록 2-2) 상품 수정 2-3) 상품 삭제 2-4) 상품 검색 3) 주문 관리 3-1) 주문 등록 3-2) 주문 수정 3-3) 주문 취소 3-4) 주문 조회 모노리틱 아키텍처는 이러한 기능들을 한 덩어리로 묶는다. 즉, 동일한 개발툴을 사용해 모든 기능을 하나의 어플리케이션으로 구현하고, 각 .. 2021. 5. 17.