Amazon S3에 파일 업로드를 상상해보십시오. 파일 및 메타 데이터의 위치는 ElasticSearch의 레코드 내에 저장됩니다. 좋아, 괜찮아. 요청 중 하나가 실패 할 경우 데이터 일관성을 보장 어떻게데이터 일관성 유지 방법 (Amazon S3 및 ElasticSearch)
하지만, (ACID는?) ... 는 예를 들어, ElasticSearch 서비스는 S3에있는 파일을 삭제해야합니다
- unavailible 경우
- 하지만 S3에서 삭제가 실패 할 경우
이렇게하면 일관성없는 상태가됩니다.
그럼 어떻게 이러한 인스턴스를 동기화 상태로 유지합니까?
아이디어는 다음과 같습니다
- 가 일관성이없는 상태이고 사용자가 ElasticSearch 기록을 요청하고 아무것도 S3에서 레코드가 삭제되어 찾을 수없는 경우. (meeh)
- DB를 검색하여 불일치를 찾아 제거합니다.
- 실행 트랜잭션 모두 요청 데이터베이스 및 경우 하나가 실패 -> 롤백하고 나중에 다시 시도하십시오 (큐, 작업 = 잔인?)