본문 바로가기
반응형

eventual consistency2

[MSA] 분산 트랜잭션 최종 일관성(Eventual Consistency) 구현 방법 비교 MSA에서 서비스의 성능, 가용성, 유연성 등의 이유로 강력한 동기화 대신 최종 일관성(Eventual consistency)이라는 방법으로 데이터를 동기화하는 방법을 많이 사용한다. 최종 일관성을 구현하는 패턴들을 알아보고, 각각의 장단점을 알아본다.  최종 일관성(Eventual consistency) 구현 방법1. 백그라운드 동기화 패턴외부의 서비스 또는 프로세스가 데이터 소스를 주기적으로 체크해서 데이터 소스를 서로 동기화 하는 방법데이터 동기화를 위한 시간이 가장 긴 편(배치Job, 주기적 실행 등)백그라운드 프로세스는 트랜잭션에 포함된 테이블과 데이터 소스를 알고 있어야 하고, 어떤 데이터가 변경됐는지 알아야 함백그라운드 프로세스는 이벤트 스트림, 데이터베이스 트리거, 원본/타깃 테이블 비교 .. 2024. 8. 11.
[MSA] 데이터 베이스 ACID와 BASE 비교 ACID 트랜잭션먼저 ACID 트랜잰션에 대한 이해가 명확히 되어 있어야 한다. ACID 트랜잭션에 대한 이해없이 분산 트랜잭션에 대한 트레이드오프 분석은 불가능하다.원자성(Actomicity): 트랜잭션 범위 내의 작업들은 모두 커밋되거나 모두 롤백되어야 함, 모두 한 덩어리로 작업이 되어야 함일관성(Consistency): 트랜잰션 범위 내에서는 데이터베이스의 일관성 유지, 무결성 제약조건 유지격리성(Isolation): 개별 트랜잭션이 격리되서 커밋 전까지 서로 영향을 주지 않음내구성(Durability): 트랜잭션 실행으로 인한 데이터에 대한 영구 보존여러 서비스에 분산된 트랜잭션 처리는 ACID 지원이 불가능하다. 개별 서비스 단위의 ACID만 지원 가능하다.분산 트랜잭션에서는 ACID 대신 B.. 2024. 8. 11.
반응형