728x90
반응형
소프트웨어 아키텍처 Hard Parts 의 내용을 정리한 내용입니다.
- BASE 분산 트랜잭션 특유의 속성
- BA (Basic availavility)
- 분산 트랜잭션의 모든 서비스 또는 시스템이 분산 트랜잭션에 참여할 수 있으리라고 기대하는것.
- S (Soft state)
- 분산 트랜잭션이 진행중이고 원자적 비지니스 요청이 미 완료된 상태.
- 고객 프로필 정보에서 Profile 테이블에는 데이터카 커밋 됐지만 다른 연관 테이블에는 커밋되지 않은 상태.
- E (Eventual Consistency)
- 충분한 시간이 지나면 언젠가는 결국 분산 트랜잭션이 완료되고 모든 데이터가 서로 동기화 된다는 의미.
- 백그라운드 동기화 패턴 (Background synchronization pattern) - 326p
- 별도의 외부 서비스나 데이터 소스를 주기적으로 체크해서 데이터 소스를 서로 동기화 한다.
- 장점
- 서비스가 디커플링 된다.
- 응답성이 좋다.
- 단점
- 데이터 소스가 결합돤다.
- 구현부가 복잡해진다.
- 경계 콘텍스트가 무너진다.
- 비지니스 로직이 중복될 수 있다.
- 최종 일관성을 맞추려면 시간이 걸린다.
- 오케스트레이티드 요청 기반 패턴 (Orchestrated request-based pattern) - 329p
- 오케스트레이터가 전체 분산 트랜잭션을 관리한다.
- 장점
- 서비스가 디커플링 된다.
- 데이터를 적시에 동기화 할수 있다.
- 원자적 비지니스 요청이 가능하다.
- 단점
- 응답이 느리다.
- 에러처리가 복잡하다
- 보상 트랜잭션이 필요하다.
- 이벤트 기반 패턴 (Event-based pattern) 333p
- 이벤트나 커맨드 메세지를 이벤트 형태로 비동기 발행 해서 게시하면 구독하는 다른 서비스들이 이벤트를 받아 적절히 응답하는 페턴
- 장점
- 서비스가 디커플링 된다.
- 데이터를 적시에 동기화 할수 있다.
- 응답이 빠르다
- 단점
- 복잡한 에러처리
- BA (Basic availavility)
728x90
반응형
'Development > Tech&Seminar' 카테고리의 다른 글
분산 아키텍처에 대해 착각하기 쉬운 몇가지. (0) | 2021.12.18 |
---|---|
생활코딩 - 암호학 수업 (0) | 2021.10.24 |
Pivotal Cloud-Native Day 2019 Seoul 을 다녀와서 (0) | 2019.07.04 |
Google Cloud Next Recap을 다녀와서! (0) | 2019.05.27 |
Agile Korea Conference 2018 참석 후기 (0) | 2018.11.25 |