geunskoo / hexagonal-architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hexagonal-architecture

헥사고날 아키텍처

📖[클린아키텍처] 책을 선정하게된 이유

신세계 아이앤씨, Spharos Academy 교육 과정 중 2차 프로젝트로 MSA를 기반의 플랫폼 서비스를 만드는 미션을 받았다. MSA로 서비스를 기획하기 위해서, 이벤트 스토밍을 진행하였다.

자연스럽게 이벤트스토밍을 통해서 그 동안 해온 프로젝트와는 달리 각각의 분리된 마이크로서비스를 어떻게 통신을 해야할지 고민이 많이 생기게 되었다.

자연스럽게 애플리케이션의 아키텍처도 계층형 구조가 아닌 새로운 무언가가 있었으면 좋겠다는 목마름이 있었다.

(1차 프로젝트를 진행하던 중 처음으로 외부 API(카카오페이)를 사용해보았는데, 인프라 스트럭처에대한 개념이 부족한 상태여서 조금 어거지로 갖다 붙인 감이 있었다.)

MSA 자체가 클라우드 환경이었고, 클라우드 환경은 유연하게 인프라스트럭처에 대한 스펙을 변경할 수 있었고, 추가할 수 있었다.

애플리케이션 아키텍처도 MSA처럼 변경에 대해서 자유롭고, 유연한 아키텍처가 필요했다.

그것이 헥사고날 아키텍처였다.

헥사고날 아키텍처를 빠르게 공부해서 2차 프로젝트에 적용하기는 하였으나, 빠른 시일내에 완성을 해야하는 목표가 있어서 오개념으로 내가 개발을 하지는 않았을까? 하는 불안감이 생겼다.

사실 불안감도 불안감이지만 적용하면 적용할수록 장점이 많이 느껴지는 아키텍처였고, 개발 중에 풀리지 않았던 궁금증을 풀고 싶다는 생각이 많이 들었다.


📝 공부 방향

  1. 계층형 아키텍처와 클린 아키텍처 PORS & CONS.
  2. 계좌 송금 유스케이스를 기반으로하는 헥사고날 아키텍쳐 구현해보기.
  3. 헥사고날 아키텍처의 테스트코드 작성 요령법 익혀보기.
  4. 야생형으로 스스로 만든 나의 헥사고날과 책에서 말하는 헥사고날을 차이 공부하기.
  5. 나의 궁금점들이 얼마나 해결되고 있는지 체크하기.

참고

[참고] 톰 홈버그. 『클린 아키텍처: 자바 코드로 구현하는 클린 웹 애플리케이션 』. 위키북스, 2021.11.26

DDD, Hexagonal

About

License:Apache License 2.0


Languages

Language:Java 100.0%