1

나는이 문제를 보았고, 지금까지 유일한 해결책은 더 강력한 일관성 모델 인 것으로 보인다. 이 서비스는 최종 일관성을 제공하는 Amazon S3입니다. 우리는 BLOB 저장소 백엔드로 사용합니다.궁극적 인 일관성 및 메시징

문제는 응용 프로그램에 메시징 패턴을 도입했기 때 문입니다. 이점에 대해서는 의문의 여지가 없습니다. 그러나 더 강한 일관성이 요구됩니다. 시나리오 :

  1. 서브 시스템은
  2. 데이터가 S3에 저장됩니다
  3. 메시지가
  4. 메시지가
  5. 데이터 S3
  6. 에서 읽은 또 다른 서브 시스템에 의해 수신되고 전송되는 사용자로부터 데이터를 수집 ... 귀뚜라미. 이것은 오래된 데이터입니까? 때로는 그렇습니다.

so. 우리는 S3에서 일관성없는 읽기를 피하기 위해 메시지에서 데이터를 보냈습니다. 그러나 그것은 매우 불쾌한 일이며, 메시지가 불필요하게 커지고 수신자가 너무 바쁘거나 내려 갔을 때 이미 새로운 데이터가있는 동안 메시지를 늦게 받으면 실패합니다.

RDBMS 나 MongoDB 같은 좀 더 일관성있는 백엔드를 위해 S3를 덤프해야합니까?

답변

0

시나리오가 항상 새로운 키의 새 키를 사용하여 S3에 쓰여질 수 있도록 허용한다면 Amazon의 읽기 후 쓰기 일관성에 의존 할 수 있습니다. 여기

이 일관성 모델을 설명 아마존의 설명입니다

미국 서부 (캘리포니아 북부), EU (아일랜드), 아시아 태평양 (싱가포르), 아시아 태평양 지역의

아마존 S3 버킷이 (도쿄) 영역은 새 오브젝트의 PUTS에 대한 읽기 후 쓰기 일관성과 일관성을 제공하여 PUTS 및 DELETES를 덮어 쓰기에 대한 일치도를 에 제공합니다. 미국 표준 지역의 Amazon S3 버킷은 최종 일관성을 제공합니다.

+0

블롭 저장소를 MongoDB로 전환하기로 결정 했으므로 강력한 일관성을 제공합니다. – skrat

관련 문제