StorageGRID가 Swift REST API를 구현하는 방법
클라이언트 애플리케이션은 Swift REST API 호출을 사용하여 스토리지 노드 및 게이트웨이 노드에 연결하여 컨테이너를 생성하고 오브젝트를 저장 및 검색할 수 있습니다. 이를 통해 OpenStack Swift용으로 개발된 서비스 중심 애플리케이션을 StorageGRID 시스템에서 제공하는 사내 오브젝트 스토리지에 연결할 수 있습니다.
Swift 오브젝트 관리
Swift 객체가 StorageGRID 시스템에서 수집되면 시스템의 활성 ILM 정책에 있는 ILM(정보 수명 주기 관리) 규칙에 의해 관리됩니다. ILM 규칙 및 정책은 StorageGRID이 오브젝트 데이터 복사본을 만들고 배포하는 방법과 시간이 지남에 따라 이러한 복사본을 관리하는 방법을 결정합니다. 예를 들어, ILM 규칙은 특정 Swift 컨테이너의 개체에 적용될 수 있으며 특정 기간 동안 여러 개체 복사본을 여러 데이터 센터에 저장하도록 지정할 수 있습니다.
그리드의 ILM 규칙 및 정책이 Swift 테넌트 계정의 개체에 어떤 영향을 미치는지 알아야 하는 경우 StorageGRID 관리자에게 문의하십시오.
클라이언트 요청 충돌
동일한 키에 쓰는 두 클라이언트 등의 충돌하는 클라이언트 요청은 "최신 성공" 기준으로 해결됩니다. "최신" 평가 시기는 StorageGRID 시스템이 지정된 요청을 완료하는 시점을 기준으로 하며, Swift 클라이언트가 작업을 시작하는 시점이 아닙니다.
일관성 보장 및 제어
기본적으로 StorageGRID는 새로 생성된 객체에 대해 읽기 후 쓰기 정합성을 보장하고 객체 업데이트 및 헤드 작업에 대한 최종 일관성을 제공합니다. 성공적으로 완료된 PUT를 팔로우하면 새로 작성된 데이터를 읽을 수 있습니다. 기존 오브젝트, 메타데이터 업데이트 및 삭제를 덮어쓰는 것은 결국 일관성이 유지됩니다. 덮어쓰기는 일반적으로 전파되는 데 몇 초 또는 몇 분이 걸리지만 최대 15일이 소요될 수 있습니다.
또한 StorageGRID를 사용하면 컨테이너 단위로 일관성을 제어할 수 있습니다. 애플리케이션의 필요에 따라 일관성 제어를 변경하여 오브젝트의 가용성과 서로 다른 스토리지 노드 및 사이트 전체에서 오브젝트의 일관성 간의 균형을 유지할 수 있습니다.