наивности вопросов. Как говорят на форумах "I'm new". 1. JSON в теле сообщения приобразуем к строке чтобы передать в очередь? 2. Размер сообщения в 256к - ограничение, если JSON большой что делать? Если consumers больше чем 1, очередь не чистим после получения, ждем чтобы сообщение протухло в 4 дня?
1. Не очень понял, про какой json речь. Тело сообщения передаётся в параметр MessageBody, он принимает строку, содержащую допустимые символы (какие допустимы, указано в документации — https://cloud.yandex.ru/docs/message-queue/api-ref/message/SendMessage). Если в сообщении хочется передать какую-то структуру приложения, можно сериализовать его в JSON или в любой другой формат, лишь бы набор символов был допустим и итоговый размер сообщения был < 256KB. 2. Можно поделить на несколько сообщений. Ещё иногда делают так — загружают контент в Object Storage, а в сообщении посылают идентификатор объекта в Object Storage. Для Java у AWS есть специальный клиент, который это прячет под капотом, из-за совместимости API YMQ и Object Storage с API SQS и S3 соответственно им можно воспользоваться: https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-s3-messages.html 3. Не очень понял вопрос. После чтения и обработки сообщения его нужно удалять. Дожидаться удаления старых сообщений не стоит, это механизм, который не должен срабатывать в хороших сценариях.
Обсуждают сегодня