Este tópico descreve os limites e as especificações de determinadas métricas do ApsaraMQ for MQTT. Ao usar o ApsaraMQ for MQTT, não ultrapasse esses limites para evitar exceções no programa. As tabelas a seguir fornecem mais detalhes sobre esses limites.
Se você adquirir uma instância Platinum Edition do ApsaraMQ for MQTT, poderá personalizar determinadas métricas. Essas métricas estão marcadas nas tabelas abaixo. Para solicitar uma personalização, entre em contato com o suporte técnico do ApsaraMQ for MQTT no grupo do DingTalk 116015007918.
Limites de instância
Limitações | Limite | Descrição |
Nome da instância |
| Não especifique um nome personalizado ao crie uma instância. Por padrão, o nome de uma nova instância é igual ao seu id de instância. Modifique o nome no ApsaraMQ for MQTT console. |
TPS de mensagens de uma única instância | O throttling baseia-se nas especificações adquiridas. Se as transações de mensagens por segundo (TPS) do ApsaraMQ for MQTT excederem o limite das suas especificações, problemas como desconexões, tempos limite de resposta e descarte de mensagens poderão ocorrer nos clientes. Isso se aplica a clientes como clientes MQTT de código aberto e kits de desenvolvimento de software (SDKs) em cloud. Nesse caso, a entrega confiável de mensagens não é garantida. | Um único cliente MQTT normalmente não lida com um grande volume de mensagens, e alguns SDKs não são projetados para alto throughput. O TPS de mensagens para um único cliente MQTT não deve exceder 20. Se você precisar de um volume maior de mensagens para uma aplicação no lado do servidor, considere usar um cliente do ApsaraMQ for RocketMQ. |
Número de conexões online para uma única instância | O throttling baseia-se nas especificações adquiridas. Se o número de conexões exceder o limite, novas solicitações de conexão poderão ser rejeitadas. | Por padrão, o ApsaraMQ for MQTT fornece alertas de monitoramento para o número de conexões online. Ajuste o limiar de monitoramento conforme necessário. |
Número de relações de assinatura para uma única instância | Se o número de assinaturas exceder o limite da especificação, novas assinaturas poderão falhar. As conexões de cliente correspondentes poderão ser desconectadas, e a integridade das relações de assinatura não poderá ser garantida. | Por padrão, o ApsaraMQ for MQTT fornece alertas de monitoramento para o número de relações de assinatura. Ajuste o limiar de monitoramento conforme necessário. |
IP correspondente ao endpoint da instância | Nenhum | Esse IP pode mudar a qualquer momento. Não codifique o IP diretamente. A equipe do product ApsaraMQ for MQTT não se responsabiliza por problemas que ocorram nas seguintes situações:
|
Limites de tópico
Restrições | Limite | Descrição |
Nome do tópico |
| O nome do tópico deve ter de 3 a 64 caracteres. O tópico pai, todos os tópicos filhos e os separadores de nível |
Número de tópicos pai para uma única instância | 25 | Se o limite padrão não atender aos seus requisitos, entre em contato com o suporte técnico do ApsaraMQ for MQTT no grupo do DingTalk 116015007918. |
Uso de tópicos entre regiões | Não suportado | Configure as regras para troca de dados entre o ApsaraMQ for MQTT e o ApsaraMQ for RocketMQ de forma que os recursos relacionados estejam na mesma região. |
Limites de cliente
Limites | Limite | Descrição |
id do cliente |
| Ao enviar e receber mensagens usando o ApsaraMQ for MQTT, o id do cliente não deve exceder o limite de comprimento. Caso contrário, a conexão será desconectada. O comprimento total de um id do cliente não deve exceder 64 caracteres. Ao usar o formato |
Group id |
| Ao enviar e receber mensagens usando o ApsaraMQ for MQTT, o comprimento do Group id deve estar dentro dos limites especificados. Caso contrário, não será possível enviar ou assinar mensagens. |
Device id |
| Ao enviar e receber mensagens usando o ApsaraMQ for MQTT, o id do cliente não deve exceder o limite de comprimento. Caso contrário, a conexão será desconectada. |
Número de tópicos que um cliente pode assinar | 30 | Cada cliente pode assinar no máximo 30 tópicos simultaneamente. Se esse limite for excedido, novas solicitações de assinatura falharão. Instâncias Platinum Edition suportam personalização. Para solicitar uma personalização, entre em contato com o suporte técnico do ApsaraMQ for MQTT no grupo do DingTalk 116015007918. Ao calcular o número de tópicos assinados, uma assinatura que contém um caractere curinga conta como uma única assinatura. Assinaturas de diferentes tópicos filhos sob o mesmo tópico pai são contadas como assinaturas separadas. Por exemplo, A/# é contado como uma assinatura, enquanto A/# e A/a1/# são contados como duas assinaturas. |
Número de relações de assinatura com curinga | É permitido um máximo de 100 relações de assinatura com curinga para cada tópico pai. | O service limita o número de relações de assinatura com curinga ativas para cada tópico pai. Se esse limite for excedido, o service carregará apenas 100 relações. Isso pode fazer com que alguns clientes assinados não recebam mensagens. Controle rigorosamente o número de relações. Por exemplo, para o mesmo tópico pai A, as assinaturas A/#, A/a1/# e A/a2/# são contadas como três relações de assinatura. |
Intervalo máximo de heartbeat | 8 minutos | Ao enviar e receber mensagens com o ApsaraMQ for MQTT, o intervalo máximo de heartbeat é de 8 minutos. |
Limites de fluxo de dados e regras de status do cliente
Limites | Limite | Descrição |
Número de regras por instância | 100 | Se o limite padrão não atender aos seus requisitos, entre em contato com o suporte técnico do ApsaraMQ for MQTT no grupo do DingTalk 116015007918. |
Deduplicação de regras | Para o mesmo recurso interno, você pode crie apenas uma regra de cada tipo. | Por exemplo, é possível crie apenas uma regra de notificação de online/offline para um Group id, e apenas uma regra de entrada de dados e uma regra de saída de dados para um tópico MQTT. |
Limite de região | Não é possível crie regras entre regiões. As instâncias da source de dados e do destino de dados para uma regra devem estar na mesma região. | Por exemplo, se você crie uma regra de saída de dados e a instância de source do ApsaraMQ for MQTT estiver na região China (Hangzhou), selecione apenas uma instância do ApsaraMQ for RocketMQ na região China (Hangzhou) como destino de dados. |
Versão da instância do ApsaraMQ for MQTT | Apenas instâncias do ApsaraMQ for MQTT da versão 3.x.x suportam este recurso. | Apenas instâncias do ApsaraMQ for MQTT da versão 3.x.x podem ser adquiridas. |
Versão da instância do ApsaraMQ for RocketMQ | Apenas instâncias da série 4.0 são suportadas. | Quando o ApsaraMQ for MQTT e o ApsaraMQ for RocketMQ trocam dados por meio de regras de entrada ou saída de dados, apenas as instâncias da série 4.0 do ApsaraMQ for RocketMQ suportam essas regras. Instâncias da série 5.0 não são suportadas. |
Limites de envio e recebimento de mensagens
O ApsaraMQ for MQTT não suporta mensagens de última vontade e testamento nem mensagens retidas.
Limites | Limite | Descrição |
Tamanho da mensagem | 64 KB | O payload da mensagem não deve exceder esse limite. Caso contrário, a mensagem será descartada. Instâncias Platinum Edition suportam personalização. Para solicitar uma personalização, entre em contato com o suporte técnico do ApsaraMQ for MQTT no grupo do DingTalk 116015007918. |
Período de retenção de mensagens offline | Até 3 dias | O ApsaraMQ for MQTT retém mensagens offline apenas quando QoS=1 e cleanSession=false. As mensagens offline são retidas por até 3 dias. A retenção durante os 3 dias completos não é garantida. As mensagens são excluídas automaticamente de forma contínua quando o período de retenção é excedido ou quando o armazenamento do servidor é insuficiente. Se você precisar de um período de retenção garantido para mensagens offline, recomendamos o uso da Platinum Edition. Para obter mais informações sobre QoS e cleanSession, consulte Glossary. Instâncias Platinum Edition suportam personalização. Para personalizar, entre em contato com o suporte técnico do ApsaraMQ for MQTT. id do grupo do DingTalk: 116015007918. |
QoS e cleanSession |
| Ao enviar e receber mensagens usando o ApsaraMQ for MQTT:
|
Período de validade do token | 30 dias | Ao chamar a operação para solicitar um token, se o valor de ExpireTime for maior que 30 dias, a operação ainda será bem-sucedida e retornará um token sem erro. No entanto, o período de validade real ainda será de 30 dias. |
Tempo de visibilidade da mensagem offline | 10 segundos | Após o service enviar uma mensagem pela primeira vez, é necessário aguardar um tempo limite ou falha para confirme se a mensagem foi convertida em uma mensagem offline. A latência correspondente é tipicamente de 5 a 10 segundos. |
Número de mensagens offline armazenadas | 1 milhão | O service limita o número de mensagens offline armazenadas para cada instância. Se esse limite for excedido, o service começará a limpar as mensagens a partir das mais antigas. Portanto, use o padrão de assinatura de persistência de forma racional para evitar a geração de muitas mensagens offline inúteis. Se o limite padrão não atender aos seus requisitos, entre em contato com o suporte técnico do ApsaraMQ for MQTT no grupo do DingTalk 116015007918. |
Número de tentativas de envio de mensagens |
| O número máximo de vezes que o service do ApsaraMQ for MQTT tenta reenviar uma mensagem quando o consumidor falha ao receber a mensagem ou quando o consumo falha. |
Limites da API cloud HTTPS
Para obter informações sobre os limites de consultas por segundo (QPS) em chamadas de API cloud HTTPS, consulte QPS limits.