Passando de uma fila padrão para uma FIFO fila na Amazon SQS - Amazon Simple Queue Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Passando de uma fila padrão para uma FIFO fila na Amazon SQS

Se seu aplicativo existente usa filas padrão e você deseja aproveitar os recursos de ordenação ou processamento único das FIFO filas, é necessário configurar a fila e o aplicativo corretamente.

Considerações importantes
  • Criando uma FIFO fila: você não pode converter uma fila padrão existente em uma FIFO fila. Você deve criar uma nova FIFO fila para seu aplicativo ou excluir a fila padrão existente e recriá-la como uma fila. FIFO

  • Parâmetro de atraso: FIFO as filas não suportam atrasos por mensagem, somente atrasos por fila. Se seu aplicativo definir o DelaySeconds parâmetro em cada mensagem, você deverá modificá-lo para definir DelaySeconds em toda a fila.

  • ID do grupo de mensagens: forneça uma ID do grupo de mensagens para cada mensagem enviada. Esse ID permite o processamento paralelo de mensagens enquanto mantém a respectiva ordem. Use uma dimensão comercial granular para o ID do grupo de mensagens para melhor escalar com FIFO filas. Quanto mais grupos de mensagens IDs você distribuir, maior será o número de mensagens disponíveis para consumo.

  • Modo de alta taxa de transferência: use o modo de alta taxa de transferência recomendado para FIFO filas para obter maior taxa de transferência. Para obter mais informações sobre cotas de mensagens, consulteCotas de SQS mensagens da Amazon.

Lista de verificação para passar para filas FIFO

Antes de enviar mensagens para uma FIFO fila, confirme o seguinte:

  1. Definir configurações de atraso

    • Modifique seu aplicativo para remover atrasos por mensagem.

    • Defina o DelaySeconds parâmetro em toda a fila.

  2. Definir grupo de mensagens IDs

    • Organize mensagens em grupos de mensagens especificando uma ID de grupo de mensagens com base em uma dimensão comercial.

    • Use dimensões comerciais mais granulares para melhorar a escalabilidade.

  3. Lidar com a desduplicação de mensagens

    • Se seu aplicativo puder enviar mensagens com corpos de mensagem idênticos, forneça uma ID exclusiva de desduplicação de mensagens para cada mensagem.

    • Se seu aplicativo enviar mensagens com corpos de mensagens exclusivos, ative a desduplicação baseada em conteúdo.

  4. Configurar o consumidor

    • Geralmente, nenhuma alteração de código é necessária para o consumidor.

    • Se o processamento de mensagens demorar muito e o tempo limite de visibilidade for alto, considere adicionar um ID de tentativa de solicitação de recebimento a cada ReceiveMessage ação. Isso ajuda a repetir as tentativas de recebimento em caso de falhas na rede e evita que as filas sejam pausadas devido a tentativas de recebimento malsucedidas.

Ao seguir essas etapas, você pode garantir que seu aplicativo funcione corretamente com FIFO filas, aproveitando ao máximo seus recursos de ordenação e processamento de uma única vez. Para obter informações mais detalhadas, consulte a APIReferência do Amazon Simple Queue Service.