더북(TheBook)

직렬 비동기 쓰기(serial async writes): 서버가 db1에 데이터를 쓰고 확인 응답을 받은 후 즉시 클라이언트에 응답을 보냅니다. 이후 다른 레플리카 두 개는 비동기적으로 업데이트됩니다. 이 방식에서는 쓰기 동작의 지연 시간이 낮습니다.

병렬 비동기 쓰기(parallel async writes): 서버가 데이터베이스를 모두 동시에 업데이트하지만, 모든 처리 완료 응답을 기다리지 않고 일부(하나 내지 여러 개) 응답을 받은 후 클라이언트에 확인 응답을 보냅니다. 지연 시간은 낮지만 스레드의 자원 사용량이 높습니다.

메시징 서비(카프(kafka) )에 쓰기: 카프카 등 메시징 서비스에 데이터를 기록한 후 클라이언트에 바로 응답을 보냅니다. 이후 메시징 서비스에 저장된 데이터를 읽어 오는 시스템(소비자)이 이 데이터를 가져가서 앞서 설명한 방법 중 하나로 각 레플리카에 데이터를 적용합니다. 이 방식은 지연 시간이 가장 짧고, 쓰기 요청이 아주 많아도 문제없이 처리할 수 있습니다.

 

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.