OCI Queue – служба очередей с высокой доступностью и пропускной способностью, позволяющий принимать миллионы сообщений в секунду. Пользователи могут публиковать, использовать и удалять сообщения в очереди, а также обновлять видимость сообщения.
OCI Queue поддерживает API-интерфейсы RESTful с SDK, а также STOMP.
Queue поддерживает стандартные очереди (оптимальная последовательность). Очереди ФИФО (строгий порядок) – это будущая функция, у нас еще нет расчетной даты ее внедрения. Если это необходимо, подайте запрос в службу поддержки или обратитесь к своему менеджеру по работе с клиентами OCI.
Сервис OCI Queue включает в соглашение об уровне обслуживания (SLA) 99,9% времени бесперебойной работы, при не более семи дней хранения сообщений.
Для увеличения некоторых пределов можно инициировать запрос поддержки.
Механизм ограничения активируется при превышении следующих порогов:
Параметр | Нестрогий лимит клиента |
---|---|
Ограничение пропускной способности | поток входящего трафика 10 МБ/с и поток вывод данных 10 МБ/с на очередь (нестрогий) |
Пример кода можно найти в репозитории Oracle DevRel GitHub или выполнить следующие действия для настройки среды IDE.
com.oracle.oci.sdk
oci-java-sdk-queue
3.2.0
Некоторые функции SDK демонстрируются в примерах, включенных в публичные репозитории GitHub для OCI Queue.
Мы предоставляем следующие API:
API управления очередью
API обмена сообщениями
Сведения об ошибках API см. в документации.
Вызов очистки в конечном итоге является последовательным; это означает, что он удалит все сообщения, опубликованные до вызова очистки, но может удалить и некоторые сообщения, опубликованные в то время, когда очередь находится в состоянии очистки (подробнее об этом в разделе "Обновление состояния" с описанием состояния жизненного цикла очистки). Вызов PutMessages не блокируется во время операции очистки, но его сообщения могут быть удалены.
Гарантируется, что очищенные сообщения не будут возвращены вызовом GetMessages и не будут влиять на статистику очереди. Тем не менее процесс удаления сообщений является асинхронным и может занять некоторое время. В течение этого времени операции обновления и удаления очищенных сообщений будут выполнены при наличии допустимого поступления.
Нет, клиент должен вызвать API DeleteMessage, чтобы удалить сообщение после успешной обработки. В противном случае сообщение будет возвращено в очередь (после истечения времени ожидания видимости) и возвращено во время последующего запроса на получение.