API & 이벤트 관리 전략 수립
마이크로서비스 아키텍처(MSA)에 관심들 많으시죠. 아마 애플리케이션 현대화 및 클라우드 네이티브 전략 로드맵에 다 들어가 있는 키워드일 것입니다. 관련해 이번 포스팅에서는 MSA 환경 전환을 위한 API와 이벤트 관리 전략 수립 시 고려해야 할 사항을 간단히 짚어 보겠습니다. 😃
😃 MSA는 이벤트 기반일 수도 있고, API 기반일 수도 있습니다
무슨 소리일까요? 간단히 예를 들어 보겠습니다. 다음 그림은 현대적인 애플리케이션의 일반적인 구성입니다. API 플랫폼을 중심으로 프런트 엔드와 백엔드가 유연하게 상호 작용합니다. 이때 API를 통한 연결도 있지만 이벤트 처리도 일어납니다. 가령 온라인 쇼핑을 할 경우 상품을 검색해 장바구니에 담고 구매하는 과정은 API를 통해 커머스 시스템, 결제 서비스에 연결됩니다. 그리고 구매 절차가 끝나면 주문 안내, 배송 지시 같은 이벤트가 생성됩니다.
😃 API와 이벤트는 어떻게 구분해 사용해야 할까?
이를 생각하기에 앞서 API와 이벤트가 갖는 특성을 알아봐야겠죠. 두 방식의 차이는 다음 표와 같습니다. 연결 방식, 프로토콜, 소비 모델 등에 차이를 보입니다. 일상적인 비유를 해보자면 4월 2일 오전 11시 주가를 추출하는 쿼리는 API를 통해 수행합니다. 반면에 4월 2일 주가 변동은 이벤트 스트림으로 받아 봅니다.
😃 API와 이벤트를 어떻게 효과적으로 관리할 것인가?
답은 API 관리 체계에서 찾을 수 있습니다. API 관리 플랫폼을 이용하면 설계, 보안, 게시, 분석, 모니터링 등을 API 생명주기 전반에 걸쳐 수행합니다. 이벤트 스트림 역시 유사한 체계 아래 관리가 되어야 합니다. 이를 토대로 개발자가 쉽게 이벤트 스트림을 탐색하고 구독할 수 있고, 보안과 거버넌스 정책을 일관성 있게 적용하고, 필요에 따라 확장을 할 수 있어야 합니다. 이런 접근의 핵심은 복잡하게 서비스들이 이벤트 스트림을 구독하는 구조가 아니라 다음 그림과 같이 단일 이벤트 채널을 통해 여러 구독자가 이벤트 스트림을 수신하게 하는 것입니다.
😃 그렇다면 실제로 API와 이벤트를 어떻게 효율적으로 관리할 수 있을까?
이에 대해서는 영상의 데모를 참조 바랍니다. 참고로 본 영상은 간단한 등록 절차 후 시청이 가능합니다. 데모부터 보려면 영상 12분 9초부터 재생하면 됩니다.
📌✔️ 구글 클라우드는 Apigee, Eventarc, Cloud Run, Pub/Sub 등의 서비스를 통해 MSA, EDA 구현을 지원합니다. 👍
이상으로 『 API & 이벤트 관리 전략 수립 』 에 대해 알아보았습니다. 😎
API 및 이벤트 관련 MSA나 EDA(Event Driven Architecture)를 구글 클라우드 서비스로 구현하고자 한다면 메가존으로 문의 바랍니다. 👉 메가존소프트 문의 바로가기