Swift REST API 구축을 위한 권장 사항
StorageGRID와 함께 사용할 Swift REST API를 구현할 때는 다음 권장 사항을 따라야 합니다.
존재하지 않는 객체에 대한 헤드 권장 사항
응용 프로그램에서 개체가 실제로 존재하지 않을 것으로 예상되는 경로에 개체가 있는지 정기적으로 확인하는 경우 ""사용 가능한"" 일관성 제어를 사용해야 합니다. 예를 들어, 애플리케이션에서 해당 위치에 대한 PUT 작업을 수행하기 전에 헤드 작업을 수행하는 경우 ""사용 가능" 정합성 제어를 사용해야 합니다.
그렇지 않으면 헤드 작업에서 개체를 찾지 못할 경우 하나 이상의 스토리지 노드를 사용할 수 없는 경우 500개의 내부 서버 오류가 발생할 수 있습니다.
를 사용하여 각 컨테이너에 대해 ""사용 가능"" 일관성 제어를 설정할 수 있습니다 "컨테이너 일관성 요청". 를 사용하여 각 컨테이너에 대해 ""사용 가능"" 일관성 제어를 설정하는 것을 볼 수 있습니다 "컨테이너 일관성 요청 가져오기".
오브젝트 이름에 대한 권장사항
StorageGRID 11.4 이상에서 생성된 컨테이너의 경우 성능 모범 사례에 맞게 개체 이름을 제한할 필요가 없습니다. 예를 들어, 이제 개체 이름의 처음 4개 문자에 임의의 값을 사용할 수 있습니다.
StorageGRID 11.4 이전 릴리즈에서 만든 컨테이너의 경우 개체 이름에 대한 다음 권장 사항을 계속 따릅니다.
-
개체 이름의 처음 네 문자로 임의 값을 사용하면 안 됩니다. 이는 이전 AWS에서 권장하는 이름 접두사와 다릅니다. 대신 와 같이 고유하지 않은 비무작위 접두사를 사용해야 합니다
image
. -
이전 AWS 권장 사항에 따라 이름 접두사에 랜덤 및 고유 문자를 사용하려면 오브젝트 이름에 디렉토리 이름을 접두사로 붙여야 합니다. 즉, 다음 형식을 사용합니다.
mycontainer/mydir/f8e3-image3132.jpg
이 형식 대신:
mycontainer/f8e3-image3132.jpg
""범위 읽기" 권장 사항
를 누릅니다 "저장된 개체를 압축하는 전역 옵션" 이 설정되어 있으면 Swift 클라이언트 애플리케이션이 반환할 바이트 범위를 지정하는 객체 가져오기 작업을 수행하지 않아야 합니다. 이러한 ""범위 읽기"" 작업은 StorageGRID가 요청된 바이트에 액세스하기 위해 개체의 압축을 효과적으로 해제해야 하기 때문에 비효율적입니다. 매우 큰 개체에서 작은 바이트 범위를 요청하는 Get Object 작업은 특히 비효율적입니다. 예를 들어, 50GB의 압축 개체에서 10MB 범위를 읽는 것은 매우 비효율적입니다.
압축된 개체에서 범위를 읽으면 클라이언트 요청이 시간 초과될 수 있습니다.
개체를 압축해야 하고 클라이언트 응용 프로그램에서 범위 읽기를 사용해야 하는 경우 응용 프로그램의 읽기 시간 초과를 늘리십시오. |