반응형
시스템 간의 비동기 연동방식
분리된 시스템 간의 비동기 연동방식은 시스템 간의 결합도를 낮추고,시스템의 응답시간을 기다리지않고 빠르게 사용자의 요청에 응답할 수 있는 장점이 있다. 비동기로는 메세징, 데이터베이스, CDC활용 방식이 있다.
1. 메세징 시스템 활용 방식
두 시스템간에 메세지 시스템을 두어 비동기로 연동하는 방식이다.
해당 방식은 한 시스템에서 메세지를 생성하여 메세징 시스템에 송신한 후 다른 시스템에서 메세징 시스템으로부터 읽어와 메세지를 처리한다. 카프카, 레빗엔 큐를 주로사용한다.
장점
처리량이 높다.
단점
- 메세지 유실이나 , 소비순서, 트랜잭션에 대한 고민이있다.
- 송신과 db저장 이 두기능이 한 트랜잭션에 묶일 경우 어떤 방식으로 해야하는 고민이다.
2. 데이터베이스
한 시스템에서 데이터베이스 테이블에 필요한 메세지 레코트를 추가하고, 연동시스템이 테이블을 주기적으로 읽는다.
만약 새로운 메세지가 추가되면, 연동 시스템은 다른 시스템으로 메세지를 전송한다.
장점
- 트랜잭션과 메세지 순서가 보장된다.
- 메세지 소실 가능성이없다
단점
메세지의 스키마가 변동될 경우 또한 메세지 삭제 정책과 읽기 빈도등 추가로 고민해야할 부분이 많다.
3.CDC 활용방식
데이터 베이스 변경 사항을 조회하여 다른 시스템에 전파하는 방식
별도의 시스템이 데이터베이스 변경 감지 대상 데이터베이스의 바이너리 로그를 조회하여 변경을 전파한다.
장점
- 별도의 메세지를 생성할필요없다.
- 단순하다.
단점
하지만 변경 로그만 존재할 뿐 왜 바뀐지는 모른다.
반응형
'CS > 면접' 카테고리의 다른 글
캐시 스템피드 (1) | 2025.08.22 |
---|---|
태태코딩 - 관계형 데이터베이스와 비 관계형 데이터베이스 차이(백엔드 질문) (0) | 2025.08.21 |