OCI Queue는 초당 수백만 건의 메시지를 수집할 수 있는 고가용성, 고출력 대기열 서비스입니다. 사용자는 Queue를 통해 메시지를 게시, 소비 및 삭제할 수 있고, 메시지의 가시성을 업데이트할 수 있습니다.
OCI Queue는 RESTful API와 SDK, STOMP를 지원합니다.
Queue는 표준 대기열을 지원합니다(best-effort ordering). FIFO 대기열(strict ordering)은 향후 지원될 예정이며, 아직 정확한 시기는 정해지지 않았습니다. FIFO 대기열이 필요한 경우 OCI 계정 관리자에게 지원을 요청하거나 문의하시기 바랍니다.
OCI Queue는 99.9% 업타임 SLA와 최대 7일간의 메시지 보관 기간을 제공합니다.
지원 요청을 통해 제한을 늘릴 수 있습니다.
다음의 임계값이 초과되면 조절 매커니즘이 활성화됩니다:
매개변수 | 고객의 soft limit |
---|---|
처리량 조절 제한 | 대기열당 10MB/초 수신 및 10MB/초 데이터 송신(소프트) |
예제 코드는 Oracle DevRel GitHub repository에서 찾을 수 있습니다. 다음 단계를 통해 IDE를 직접 구성할 수도 있습니다.
com.oracle.oci.sdk
oci-java-sdk-queue
3.2.0
일부 SDK 기능들이 OCI Queue용 공공 GitHub repositories에 포함된 예제에 설명되어 있습니다.
Oracle은 다음 API를 제공합니다:
대기열 관리 API
메시징 API
API 오류에 관한 자세한 내용은 설명서에서 확인할 수 있습니다.
삭제 호출은 일관적인 성격을 지닙니다. 다시 말해 삭제 호출이 요청되기 전에 게시된 모든 메시지가 삭제된다는 뜻입니다. 게다가 대기열이 삭제 상태일 때 게시된 메시지도 일부 삭제될 수 있습니다(삭제 주기 상태 세부 사항를 기준으로 '업데이트 상태'에 해당). 삭제 실행 중에 PutMessages 호출은 차단되지 않지만 메시지는 삭제될 수 있습니다.
삭제된 메시지를 GetMessages 호출로 복구할 수 없으며, 이 호출은 대기열 상태에 영향을 미치지 않습니다. 그러나 메시지 삭제 프로세스는 여전히 비동기적이며, 다소 시간이 걸릴 수 있습니다. 유효한 수신을 보유한 경우, 해당 시간 동안 삭제된 메시지의 업데이트 및 삭제 작업은 성공적으로 진행됩니다.
아니요. 처리된 메시지를 성공적으로 삭제하기 위해서는 DeleteMessage API를 호출해야 합니다. 그렇지 않으면 해당 메시지는 대기열로 다시 돌아오며(가시성 시간 초과 후), 이후 진행되는 Get 요청 중에 돌아옵니다.