Compartilhar via


Hub IoT e confiabilidade

Hub IoT do Azure é um serviço gerenciado hospedado na nuvem que atua como um hub de mensagens central para comunicação entre um aplicativo IoT e seus dispositivos anexados. Você pode conectar milhões de dispositivos e suas soluções de back-end de forma confiável e segura. Quase qualquer dispositivo pode ser conectado a um Hub IoT.

O Hub IoT dá suporte ao monitoramento para ajudá-lo a acompanhar a criação de dispositivos, conexões de dispositivo e falhas de dispositivo.

O Hub IoT também dá suporte aos seguintes padrões de mensagens:

  • Telemetria do dispositivo para a nuvem
  • Carregando arquivos de dispositivos
  • Métodos de solicitação e resposta para controlar seus dispositivos da nuvem

Para obter mais informações sobre o Hub IoT, consulte Conceitos de IoT eHub IoT do Azure.

Para entender como o Hub IoT dá suporte a uma carga de trabalho confiável, faça referência aos seguintes tópicos:

As seções a seguir são específicas para o Hub IoT do Azure e confiabilidade:

  • Considerações sobre design
  • Lista de verificação de configuração
  • Opções de configuração recomendadas

Considerações sobre design

Para obter mais informações sobre o Contrato de Nível de Serviço do Hub IoT do Azure, consulte SLA para o Hub IoT do Azure.

Lista de Verificação

Você configurou o Hub IoT do Azure com confiabilidade em mente?

  • Provisione um segundo Hub IoT em outra região e tenha lógica de roteamento no dispositivo.
  • Use o protocolo AMQP ou MQTT ao enviar eventos com frequência.
  • Use somente certificados validados por uma autoridade de certificação raiz no ambiente de produção se certificados X.509 estiverem sendo usado para conexão do dispositivo.
  • Para obter a taxa de transferência máxima, use o número máximo de partições (32) ao criar o Hub IoT, se estiver planejando usar o ponto de extremidade interno.
  • Para dimensionar, aumente a camada e as unidades alocadas do Hub IoT em vez de adicionar mais de um Hub IoT por região.
  • Em cenários de alta taxa de transferência, use eventos em lote.
  • Se você precisar da latência mínima possível, não use o roteamento e leia os eventos do endpoint integrado.
  • Como parte da estratégia de recuperação de desastre e disponibilidade em toda a solução, considere o uso da opção de recuperação de desastre entre regiões do Hub IoT.
  • Ao usar um SDK para enviar eventos aos Hubs IoT, verifique se as exceções geradas pela política de repetição (EventHubsException ou OperationCancelledException) são capturadas corretamente.
  • Para evitar a interrupção da telemetria devido à limitação e uma cota totalmente usada, considere adicionar uma solução personalizada de dimensionamento automático.

Recomendações de configuração

Considere as seguintes recomendações para otimizar a confiabilidade ao configurar o Hub IoT do Azure:

Recomendação Descrição
Provisione um segundo Hub IoT em outra região e tenha lógica de roteamento no dispositivo. Essas configurações podem ser aprimoradas ainda mais com um Serviço de Concierge.
Use o protocolo AMQP ou MQTT ao enviar eventos com frequência. AMQP e MQTT têm custos de rede mais altos ao inicializar a sessão, no entanto, HTTPS requer sobrecarga de TLS extra para cada solicitação. AMQP e MQTT têm um melhor desempenho para editores frequentes.
Use somente certificados validados por uma autoridade de certificação raiz no ambiente de produção se certificados X.509 estiverem sendo usado para conexão do dispositivo. Verifique se você tem processos em vigor para atualizar o certificado antes que eles expirem.
Para obter a taxa de transferência máxima, use o número máximo de partições (32) ao criar o Hub IoT, se estiver planejando usar o ponto de extremidade interno. O número de partições do dispositivo para nuvem para o ponto de extremidade compatível com hub de eventos reflete o grau de paralelismo de downstream que pode ser obtido. Isso permitirá que você escale verticalmente para 32 entidades de processamento simultâneas e oferecerá a maior disponibilidade de envio e recebimento. Esse número não pode ser alterado após a criação.
Para dimensionar, aumente a camada e as unidades alocadas do Hub IoT em vez de adicionar mais de um Hub IoT por região. Adicionar mais de um Hub IoT por região não oferece resiliência extra porque todos os hubs podem ser executados no mesmo cluster subjacente.
Em cenários de alta taxa de transferência, use eventos em lote. O serviço fornecerá uma matriz com vários eventos para os consumidores, em vez de uma matriz com um evento. O aplicativo consumidor deve processar essas matrizes.
Se você precisar da latência mínima possível, não use o roteamento e leia os eventos do ponto de extremidade embutido. Ao usar o roteamento de mensagens no Hub IoT, a latência da entrega de mensagens aumenta. Em média, a latência não deve exceder 500 ms, mas não há garantia para a latência de entrega.
Como parte de sua estratégia de disponibilidade em toda a solução e de recuperação de desastres, considere usar a opção de Recuperação de Desastres entre regiões do Hub IoT . Essa opção irá mover o endpoint do IoT Hub para a região emparelhada do Azure. Somente o registro de dispositivo é replicado. Os eventos não são replicados para a região secundária. O RTO para o failover iniciado pelo cliente é de 10 minutos a algumas horas. Para um failover iniciado pela Microsoft, o RTO (Tempo Objetivo de Recuperação) é de 2-26 horas. Confirme se esse RTO está alinhado com os requisitos do cliente e se encaixa na estratégia de disponibilidade mais ampla. Se for necessário um RTO maior, considere a implementação de um padrão de failover do lado do cliente.
Ao usar um SDK para enviar eventos ao Hub IoT, verifique se as exceções geradas pela política de repetição (EventHubsException ou OperationCancelledException) são capturadas corretamente. Ao usar HTTPS, implemente um padrão de tentativa adequado.

Próxima etapa