MSA 2

[Architecture] 다양한 아키텍처들

이번 시간에는 다양한 아키텍처 패턴에 대해서 알아보는 시간을 가져보겠습니다. Layered Architecture소프트웨어 시스템을 여러 계층(Layer) 으로 나누어 설계하는 아키텍처 패턴입니다. 각 계층은 특정한 역할과 책임을 가지며, 상위 계층은 하위 계층의 기능을 이용하여 동작합니다. 이 아키텍처는 시스템의 복잡성을 관리하고 유지 보수를 용이하게 하기 위해 자주 사용됩니다. 기본 개념레이어드 아키텍처는 시스템을 여러 개의 계층으로 분리하여 설계하는 방식입니다. 이 계층들은 일반적으로 다음과 같은 주요 기능에 따라 나누어집니다.Presentation LayerApplication Layer 혹은 Service LayerDomain Layer 혹은 Business Logic LayerData Acce..

Clean Architecture 2024.08.15

In NestJS's microservice, let it fix that cannot refer another microservice

NestJS에서 MSA를 구현하다보면, 단순히 Client - Server 구조(https://kahnco.tistory.com/9)로 되어있는 프로젝트를 로컬 환경에서 돌리는 케이스는 별 에러없이 진행됩니다. 하지만, Client가 여러 개가 되고 각각의 Client가 Listen하고 있는 포트가 여러 개가 되면 Server(gRPC를 호출하는 쪽)에서 Client(gRPC를 제공하는 쪽)를 onModuleInit을 통해서 호출하고자 할때, override한 onModuleInit 함수가 정상적으로 호출되지 않는 문제가 있습니다. // client-svc.service.ts @Injectable() export class ClientSvcService implements OnModuleInit { pr..

NestJS 2023.04.02