생소한 아키텍처 패턴에 대한 이해 with Chat GPT

죠랭이·2023년 10월 8일
0

이번에 육각형 개발자 라는 책을 읽으면서 아키텍처, 패턴 챕터에서 처음 보는 패턴이 나와 이에 대하여 Chat GPT에게 한번 물어보았다.

기업통합패턴_QnA
결함허용패턴_QnA

Chat GPT에서 검색한 답변과 책에서 설명하는 내용을 기반으로 필자가 이해한 바는 다음과 같다. 먼저, 기업통합패턴의 경우 서비스 규모가 큰 회사에서 일반적으로 시스템간 연동은 필수다. 그러다보니 어떻게 하면 시스템간 데이터 연동 시 효율적이고 안정적으로 이룰 수 있을지에 대한 고민을 하며 시스템 설계 측면에서 활용할 수 있는 해결법, 곧 기업통합패턴을 엔지니어들이 도입하는 것으로 보인다. 책에서는 메시지 큐에 대하여 소개하였는데 Chat GPT는 이외에도 Pub/Sub, Pipes and Filters 등등 다른 도구와 패턴들도 소개하였다. 현재 내가 담당한 도메인은 컨텐츠 플랫폼 도메인으로 여러 서비스 도메인들이 연동하고 있는데 그중에서 우리는 대규모 트래픽과 가용성을 위하여 메시지 큐를 주로 활용하고 있다. Pipes and filters의 경우 VOD 인코딩/디코딩을 위한 파이프라인 시스템이 여기에 속한다고 생각이 드는데 이 부분은 Pipes and Filters의 장점을 극대화하기 위해선 좀 더 고도화가 이루어져야할 것으로 보인다.

다음으로, 결함허용 패턴의 경우 시스템 장애 혹은 오류는 피할 수 없기에 발생했을 때 이에 대처하여 시스템 안정성과 견고성을 향상시키기 위한 기법들이다. 책에서는 서킷 브레이커, 재시작, 하트비트 등의 기법들을 소개하였는데 서킷 브레이커의 경우 MSA(마이크로서비스)에서 일부 서비스 장애 대응 시 활용되는 기법이라고 한다. Chat GPT에서 소개하는 Self-healing이나 Retry 모두 SRE팀에서 인프라 관리 및 장애 대응을 위해 활용하는 ArgoCD에서 흔히 접하는 용어들이다. 이를 통해, 서비스 운영과 배포 관리에서 장애 발생 시 대응하는 패턴들이 결함허용 패턴들에 해당한다고 필자는 이해하였다.

회사에서 숨쉬듯 너무 당연하게 쓰고 있는 도구 혹은 패턴들이 책에서 정의하는 패턴들이었음을 알게되어 새롭다. 이번 기회에 도구와 패턴들의 기원을 알게 되었으니 활용 시 좀 더 그 목적에 맞게 혹은 장점을 극대화하기 위한 방법에 대하여 고민해보면서 접근해야겠다.

profile
슈퍼 개발자를 목표로 하는 주니어

0개의 댓글

관련 채용 정보