본문 바로가기

DevOps/MSA

헥사고널 아키텍처 간단하게 알아보기

이직을 준비하면서 느낀 점이, MSA 구조와 헥사고널 아키텍처 및 클린 아키텍처에 대한 이해도를 상당부분 요구한다는 것이었다.

MSA는 다양한 자료와 책을 가지고 그 사상과 간단한 구현 방법은 익혔지만, 헥사고널 아키텍처는 달랐다.

그래서 헥사고널 아키텍처에 대해서 간단하게 알아보고자 이 글을 적었다.

 

가장 많이 참고한 글은 아래 블로그의 글이다!

https://engineering.linecorp.com/ko/blog/port-and-adapter-architecture/

 

 

1. Port And Adapter Architecture(PAAA)

 

헥사고널 아키텍처는 별명이었다. 실은 포트 앤 어댑터 아키텍처를 그 모습 그대로 부른 이명에 불과했다.

그렇다면 이를 PAAA를 이해하기 위해서는

 

1.1. 포트가 무엇인지?

1.2. 어댑터가 무엇인지?

1.3. 그 둘을 잇는 And는 어떻게 구현했는지?

1.4. 포트 앤 어댑터라는 그 두 개의 가치를 이용해서 구현하고자 하는 해당 구조의 목적은 무엇인지?

 

이 네 가지를 알 필요가 있다.

차근차근 알아보자!

 

아직, 공부하면서 제대로 이해가 안되는 파트가 많은 영역이므로 계속해서 수정을 하겠음.

따라서 아직은 오류가 있을지도 몰라욥.

 


 

2. Port

자바 인터페이스

자바 메서드 시그니처

즉, 구체적인 구현부는 없으면서 개별 객체를 식별할 수 있는 방법이다.

=> 인터페이스 제공

 

3. Adapter Pattern

인터페이스를 제공

구현은 서버의 인터페이스에 위임

=> 두 개를 연결하는 역할을 뜻하는데... 정확히 무엇이라 표현하기 어렵다.

=> 구현체 제공

 

4.  호출 위치가 외부인가 내부인가?

외부에서 호출 -> 주요소, Primary

내부에서 호출 -> 부요소, Secondary

 

5. 패키지 구조

추후 공부...

 

6. PAAA 사용 목적

인터페이스 및 기반요소 변경에 영향을 받지 않는 핵심코드를 작성하고 이를 견고하게 관리하는 것

'DevOps > MSA' 카테고리의 다른 글

외부 저장소 패턴이란 무엇인가?  (0) 2023.01.24