Guia rápido do Events Hub
Este guia rápido foi criado para te ajudar a entender o funcionamento do Sensedia Events Hub. Ele dá uma visão geral de como:
-
configurar as rotas para enviar e receber eventos;
-
aplicar políticas de segurança e tentativas automáticas de distribuição dos eventos aos subscritores.
Os links incluídos nessa página levam a seções mais detalhadas da nossa documentação. |
Glossário
Em toda a documentação, você verá alguns termos próprios do contexto de mensageria. Para facilitar o entendimento, explicamos:
-
Publicadores: também conhecidos como publishers, são as aplicações remetentes. Eles são responsáveis por criar os eventos e enviá-los ao Events Hub.
-
Subscritores: também chamados de subscribers, são os destinatários, aplicações ou parceiros do cliente que recebem os eventos e podem tomar ações com base neles.
-
Business moments: são momentos de oportunidade para o negócio que, utilizando o Events Hub, podem ser aproveitados para gerar receita.
Funcionamento geral
O Events Hub permite gerenciar uma arquitetura de distribuição de eventos por meio de uma interface low-code, que não requer conhecimentos avançados de programação. Nela, é possível cadastrar e gerenciar publicadores e subscritores de eventos de forma totalmente independente.
Para que o Events Hub saiba quais subscritores devem receber quais eventos, existem rotas de publicação e subscrição, formando um canal para receber e distribuir eventos. Essas rotas são definidas através de tópicos, handlers e contextos, cada um com um caminho específico que é adicionado à URL de publicação. Quando os publicadores enviam requisições ao Events Hub, garantimos que elas serão distribuídas somente aos subscritores cadastrados para receber o evento.
Além de gerenciar a publicação e subscrição de eventos, o Events Hub garante a entrega aos subscritores por meio de:
-
acompanhamento do status do envio;
-
tentativas automáticas de entrega;
-
reenvio manual através da interface em caso de falha.
Para garantir a segurança durante todo o processo de gerenciamento dos eventos, você pode adicionar interceptors no fluxo de recebimento. Isso permite controlar o acesso de publicadores, que podem ser validados por um servidor externo.
Para os subscritores, incluímos uma assinatura digital junto com todos os eventos distribuídos para validar a origem das requisições. Além disso, você pode configurar um token de segurança estático ou dinâmico para o tráfego seguro das informações.
Tópicos, handlers e contextos
Tópicos, handlers e contextos são os elementos que formam o canal de publicação e subscrição de eventos. Eles organizam as rotas de recebimento e distribuição dos eventos, assegurando que as mensagens cheguem aos subscritores corretos.
Tópicos
O tópico é o último marcador da URL de publicação e é através dele que o Events Hub encontra os subscritores que devem receber cada evento. Os publicadores enviam requisições usando a URL de publicação do tópico e o Events Hub encaminha os eventos para todos os subscritores ativos no tópico.
Handlers
Os handlers são grupos de tópicos que servem para agrupá-los de forma lógica. Eles também são responsáveis por aplicar políticas de segurança e entrega de eventos, que serão compartilhadas com todos os tópicos dentro dele.
Contextos
Os contextos permitem reutilizar tópicos em diferentes cenários. O servidor externo de autorização é definido por contexto, o que significa que quando dois contextos diferentes são disponibilizados para um tópico, é possível utilizar dois endpoints distintos de autorização para o mesmo tópico.
A URL de publicação de eventos é dividida em partes: a base (única por cliente) e marcadores de posição, que são contexto, handler e tópico: <url-base>/<context>/<handler>/<topic>
|
O contexto de teste também permite utilizar um mock de autorização para que sua equipe não precise validar as credenciais do endpoint de autorização do contexto padrão. |
Configurar tópicos, handlers e contextos
Para cadastrar handlers com contexto, recomendamos registrar o contexto previamente na tela Contexts. |
Handlers são criados e gerenciados na tela Handlers. Na tela de cadastro e edição de um handler, você pode:
-
criar e editar tópicos e policies;
-
atribuir contextos aos tópicos, clicando sobre o ícone na tela de cadastro. Eles devem ser previamente cadastrados pela tela Contexts.
Os endpoints de autorização de publicadores são definidos para cada contexto na tela Authorizations.
Publicadores e subscritores
O Events Hub permite que os dois lados da integração de eventos, produtores e consumidores sejam cadastrados de forma intuitiva e independente.
Os publicadores são a fonte dos eventos. Eles são cadastrados na tela Publishers. Você pode criá-los ou importar uma app da Sensedia API Platform.
No processo de cadastro, você conecta o publicador aos tópicos para os quais ele enviará eventos. Além disso, você escolhe quais contextos serão compartilhados com ele.
Os subscritores são aqueles que recebem os eventos. Eles são cadastrados na tela Subscribers. Ao cadastrar um subscritor, você o inscreve nos tópicos dos quais receberá eventos e também escolhe quais contextos serão compartilhados com ele.
Para os subscritores, é necessário configurar uma URL para cada tópico que receberá os eventos. Com isso, um mesmo subscritor pode receber eventos em URLs diferentes. |
Políticas de segurança para os publicadores
Na tela Policies você pode definir as medidas de segurança para publicadores e a entrega de eventos aos subscritores. Isso inclui: * a quantidade de tentativas automáticas de entrega que serão feitas; * tempo limite de requisição; * códigos de status HTTP que acionam novas tentativas quando retornados.
A segurança para publicadores é garantida por interceptores que validam sua identidade, como OAuth, JWT, Client ID e Access Token. Além disso, você pode filtrar o acesso dos publicadores por IP.
As políticas se aplicam aos handlers durante sua criação ou edição na tela Handlers. Portanto, todos os tópicos de um handler usam a mesma política.
A autorização de publicadores é definida a nível de contexto por um servidor externo de autorização, configurado na tela Authorizations.
Segurança na conexão com subscritores
O Events Hub implementa camadas de segurança que permitem que os subscritores verifiquem a procedência das mensagens recebidas. Isso acontece por meio de assinaturas digitais trafegadas em todas as requisições. Essa assinatura é um token JWT gerado a partir de uma chave de conhecimento mútuo entre subscritores e o Events Hub durante o cadastro de subscritores.
Para reforçar a segurança, você pode também configurar um token estático ou dinâmico para ser incluído nas requisições.
Detalhes de eventos e reenvio manual
Você pode acompanhar em detalhes os eventos recebidos através da tela Event Status. Para cada evento, são mostradas as tentativas e o histórico de distribuição aos subscritores.
Tentativas automáticas de entrega usam um algoritmo de recuo exponencial para aumentar as chances de sucesso. Contudo, se todos os envios a um subscritor falharem, você pode tentar uma entrega manual na tela Delivery Retry. |
Share your suggestions with us!
Click here and then [+ Submit idea]