Grade de eventos no Kubernetes - entrega e repetição de eventos

A Grade de Eventos no Kubernetes com o Azure Arc tenta entregar cada mensagem pelo menos uma vez para cada assinatura correspondente imediatamente. Se não obtiver uma resposta HTTP 200 bem-sucedida do assinante ou se houver alguma falha, a Grade de Eventos no Kubernetes tentará novamente a entrega com base em uma agenda de repetição fixa e política de novas tentativas.

Por padrão, a Grade de Eventos no Kubernetes entrega um evento de cada vez para o assinante. No entanto, a carga útil da solicitação de entrega é uma matriz com um único evento. Ele pode entregar mais de um evento de cada vez se você habilitar o recurso de lote de saída. Para obter detalhes sobre esse recurso, consulte Entrega de eventos em lote.

Importante

A Grade de Eventos no Kubernetes com o Azure Arc está atualmente em visualização pública. Esta versão de pré-visualização é disponibiliza sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Nota

Durante a visualização, os recursos da Grade de Eventos no Kubernetes são suportados por meio da API versão 2020-10-15-Preview.

Agendamento de novas tentativas

A Grade de Eventos no Kubernetes aguarda até 60 segundos por uma resposta após a entrega de um evento. Se o ponto de extremidade do assinante não enviar a resposta de sucesso (HTTP 200 ou mais), ele tentará enviar o evento novamente. Veja como funciona.

  1. A mensagem chega à grade de eventos no Kubernetes. Tenta-se entregá-lo imediatamente.
  2. Se a entrega falhar, a mensagem será enfileirada em fila de 1 minuto e tentada novamente após um minuto.
  3. Se a entrega continuar a falhar, a mensagem é enfileirada em fila de 10 minutos e repetida a cada 10 minutos.
  4. As entregas são tentadas até que os limites da política de sucesso ou repetição sejam atingidos.

Política de repetição

Há duas configurações que determinam a política de novas tentativas. Eles são:

  • Número máximo de tentativas
  • Tempo de vida do evento (TTL)

Um evento será descartado se qualquer um dos limites da política de repetição for atingido. A configuração desses limites é feita por assinatura. A seção a seguir descreve cada um deles com mais detalhes.

Configurando padrões por assinante

Você também pode especificar limites de política de repetição por assinatura. Consulte nossa documentação da API para obter informações sobre como configurar padrões por assinante. Os padrões de nível de assinatura substituem o módulo Grade de Eventos nas configurações de nível do Kubernetes.

O exemplo a seguir configura uma assinatura de gancho da Web com maxNumberOfAttempts 3 e eventTimeToLiveInMinutes 30 minutos.

{
 "properties": {
  "destination": {
   "endpointType": "WebHook",
   "properties": {
    "endpointUrl": "<your_webhook_url>",
    "eventDeliverySchema": " CloudEventSchemaV1_0"
   }
  },
  "retryPolicy": {
   "eventTimeToLiveInMinutes": 30,
   "maxDeliveryAttempts": 3
  }
 }

Próximos passos

Para saber mais sobre destinos e manipuladores suportados pela Grade de Eventos no Azure Arc for Kubernetes, consulte Grade de Eventos no Kubernetes - Manipuladores de eventos.