Event Grid no Kubernetes – Conceitos
Este artigo descreve os principais conceitos do Event Grid no Kubernetes com o Azure Arc (Pré-visualização).
Importante
O Event Grid no Kubernetes com o Azure Arc está atualmente em pré-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.
Evento
Um evento é um registo de dados que anuncia um facto sobre o funcionamento de um sistema de software. Normalmente, um evento anuncia uma alteração de estado devido a um sinal gerado pelo sistema ou um sinal observado pelo sistema. Os eventos contêm dois tipos de informações:
Dados de eventos que representam a ocorrência de uma alteração de estado.
Atributos de contexto que fornecem informações contextuais sobre a ocorrência do evento.
Os dados de eventos e os atributos de contexto podem ser utilizados para filtrar eventos.
O Event Grid no Kubernetes suporta a especificação de esquema CloudEvents . Eis um exemplo de um evento que utiliza o esquema CloudEvents. O Event Grid suporta um evento de tamanho até 1 MB.
[{
"specVersion": "1.0",
"type" : "orderCreated",
"source": "myCompanyName/us/webCommerceChannel/myOnlineCommerceSiteBrandName",
"id" : "eventId-n",
"time" : "2020-12-25T20:54:07+00:00",
"subject" : "account/acct-123224/order/o-123456",
"dataSchema" : "1.0",
"data" : {
"orderId" : "123",
"orderType" : "PO",
"reference" : "https://www.myCompanyName.com/orders/123"
}
}]
Origem
O atributo de origem descreve o contexto em que o evento ocorreu. A origem pode ser o criador de eventos. No entanto, em alguns casos, existem produtores que criam e publicam eventos. E estes produtores são distintos da fonte. Para simplificar, este artigo pressupõe que a origem é o produtor dos eventos.
Cada origem de evento produz eventos de um ou mais tipos de eventos. Como origem dos eventos, uma aplicação define um conjunto de eventos relacionados para anunciar as alterações de estado. Cada evento tem informações comuns, como a origem do evento, a hora em que o evento ocorreu e um identificador exclusivo. Cada evento também tem informações específicas que só são relevantes para o tipo específico de evento. O suporte para um evento de tamanho até 1 MB está atualmente em pré-visualização.
Para obter as propriedades incluídas num evento, veja Esquema CloudEvents.
Editores
Os editores de eventos são aplicações ou sistemas que enviam eventos para o Event Grid para serem entregues aos subscritores de eventos.
Tópicos
Um tópico é uma forma de canal de entrada que expõe um ponto final ao qual os publicadores enviam eventos para o Event Grid.
Um tópico pode ser utilizado para uma coleção de eventos relacionados. Pode criar um tópico para cada categoria de eventos relacionados. Em alguns casos, a origem pode ser utilizada para organizar eventos em categorias porque as origens estão normalmente associadas a um conjunto de tipos de eventos intimamente relacionados ("MyApp.OrderCreated", "MyApp.OderDeleted", "MyApp.OrderRejected", etc.).
Considere uma aplicação que envia eventos relacionados com a gestão de contas de utilizador e o processamento de encomendas. É pouco provável que um subscritor de eventos esteja interessado em consumir ambas as categorias de eventos. Crie dois tópicos personalizados e deixe que os processadores de eventos subscrevam aquele que for do seu interesse. Para soluções pequenas, pode preferir enviar todos os eventos para um único tópico.
Subscritores de eventos
Os subscritores de eventos são sistemas de software, como microsserviços, que expõem pontos finais aos quais o Event Grid fornece eventos.
Subscrições de eventos
Uma subscrição de evento indica ao Event Grid quais os eventos sobre um tópico que está interessado em receber (filtragem de eventos) e para onde enviá-los (encaminhamento de eventos). Ao criar uma subscrição de evento, fornece um ponto final para processar o evento. Pode selecionar os eventos que pretende que sejam entregues ao ponto final ao configurar cláusulas de filtro na subscrição do evento.
Processadores de eventos
Um processador de eventos é um sistema de software que expõe um ponto final para o qual os eventos são enviados. O processador recebe o evento e toma medidas para processar o evento. O Event Grid suporta vários tipos de processador. Como processador, pode utilizar um serviço do Azure suportado alojado no Kubernetes ou no Azure, ou a sua própria solução que expõe um web hook (ponto final) onde quer que esteja alojado. Dependendo do tipo de processador, o Event Grid segue diferentes mecanismos para garantir a entrega do evento. Se o processador de eventos de destino for um web hook HTTP, o evento será repetido até que o processador devolva um código de estado de 200 – OK. Para obter mais informações, veja Processadores de eventos.
Autenticação SAS
O Event Grid no Kubernetes fornece autenticação baseada em chaves SAS para publicar eventos em tópicos.
Entrega de eventos
O Event Grid no Kubernetes fornece um mecanismo fiável de entrega e repetição. Se o Event Grid não conseguir confirmar que um evento foi recebido pelo ponto final do processador de eventos, redeliversa o evento. Para obter mais informações, veja Entrega e repetição de mensagens do Event Grid.
Publicação de eventos do Batch
Quando utiliza um tópico, os eventos têm de ser sempre publicados numa matriz. Para cenários de débito baixo, a matriz terá apenas um evento. Para casos de utilização de volume elevado, recomendamos que junte vários eventos por publicação para obter uma maior eficiência. Os lotes podem ter até 1 MB. Cada evento ainda não deve ser superior a 1 MB. Para obter mais informações, veja Entrega de eventos do Batch.
Event Grid em componentes do Kubernetes
O operador do Event Grid implementa o padrão Operador. Observa as alterações de estado dos recursos do Event Grid como resultado dos pedidos do plano de controlo feitos ao Servidor de API do Kubernetes. Quando existe um pedido que afeta o estado de qualquer um dos recursos do Event Grid, o operador do Event Grid sincroniza esse estado com o Mediador do Event Grid.
O mediador do Event Grid serve como operações do plano de controlo e do plano de dados.
Como um serviço de plano de controlo, é responsável por colocar o estado do Event Grid no estado pretendido comunicado pelo Operador do Event Grid. Por exemplo, quando é feito um pedido para criar um novo tópico, cumpre esse pedido e os metadados do serviço são atualizados.
Como um serviço de plano de dados, serve todos os pedidos de publicação de eventos e entrega eventos aos respetivos destinos configurados em subscrições de eventos.
Passos seguintes
Para começar, veja Criar tópicos e subscrições.