Exportar (0) Imprimir
Expandir Tudo

Filas do Azure e filas do Service Bus - semelhanças e diferenças

Atualizado: junho de 2014

Autores: Valery Mizonov, Seth Manheim e Abhishek Lal

Colaboradores: Brad Calder, Jai Haridas, Jason Hogg, Jeff Irwin, Jaganathan Thangavelu, Kartik Paramasivam, Todd Holmquist-Sutherland e Ruppert Koch

Este artigo analisa as diferenças e as semelhanças entre os dois tipos de filas oferecidos pelo Azure atualmente: as Filas do e as Filas do Microsoft Azure Service Bus. Usando estas informações, você pode comparar e confrontar as respectivas tecnologias e conseguir tomar uma decisão mais informada sobre qual solução melhor atende às suas necessidades.

O oferece suporte a dois tipos de mecanismos da fila: As Filas do e as Filas do Service Bus.

As filas do , que fazem parte da infraestrutura de armazenamento do Azure apresentam uma interface simples Get/Put/Peek baseada em REST, oferecendo mensagens confiáveis e persistentes em um mesmo serviço e entre serviços.

As filas do Service Bus fazem parte de uma infraestrutura mais ampla de mensagens do Azure que oferece suporte ao enfileiramento, além de publicação/assinatura, comunicação remota do serviço Web e padrões de integração. Filas, tópicos/assinaturas e retransmissões do Para obter mais informações sobre Service Bus, consulte Visão geral dos padrões de sistema de mensagens do Service Bus.

Embora ambas as tecnologias de enfileiramento coexistam, as Filas do foram introduzidas pela primeira vez como um mecanismo de armazenamento em fila dedicado criado sobre os serviços de armazenamento do . As Filas do Service Bus foram desenvolvidas sobre a infraestrutura mais ampla de "mensagens orientadas", projetada para integrar aplicativos ou componentes de aplicativos que podem abranger vários protocolos de comunicação, contratos de dados, domínios de confiança e/ou ambientes de rede.

Este artigo compara as duas tecnologias de filas oferecidas pelo discutindo as diferenças no comportamento e na implementação dos recursos fornecidos por cada uma delas. O artigo também fornece diretrizes para a escolha de quais recursos podem melhor atender às suas necessidades de desenvolvimento de aplicativos.

Tanto as Filas do quanto as Filas do Service Bus são implementações do serviço de enfileiramento de mensagens atualmente oferecido no . Cada uma tem um conjunto de recursos um pouco diferente, o que significa você pode escolher uma ou outra, ou usar ambas, dependendo das necessidades de sua solução em particular ou do problema comercial/técnico que você está resolvendo.

Ao determinar qual tecnologia de enfileiramento é adequada ao propósito de uma determinada solução, os arquitetos de soluções e desenvolvedores devem considerar as recomendações a seguir. Para obter mais detalhes, consulte a próxima seção.

Como um arquiteto/desenvolvedor de soluções, você deve considerar o uso de Filas do quando:

  • Seu aplicativo precisa armazenar o equivalente a mais de 80 GB de mensagens em uma fila, onde as mensagens têm um tempo de vida de menos de 7 dias.

  • Seu aplicativo deseja rastrear o progresso para processar uma mensagem dentro da fila. Isso será útil se o trabalho que está processando uma mensagem falhar. Um trabalho subsequente pode então usar essas informações para continuar de onde o anterior parou.

  • Você precisa de logs do servidor de todas as transações executadas em suas filas.

Como um arquiteto/desenvolvedor de soluções, você deve considerar o uso de Filas do Service Bus quando:

  • Sua solução deve ser capaz de receber mensagens sem precisar sondar a fila. Com o Service Bus, isso pode ser obtido com o uso da operação de recepção de sondagem longa via protocolos baseados em TCP ou protocolo que o Service Bus suporta.

  • Sua solução requer a fila para fornecer uma entrega com ordenação FIFO (primeiro a entrar, primeiro a sair) garantida.

  • Você quer uma experiência simétrica no e no Windows Server (nuvem privada). Para obter mais informações, consulte Service Bus for Windows Server (Service Bus 1.1).

  • Sua solução deve ser capaz de dar suporte à detecção automática de duplicidades.

  • Você quer que seu aplicativo processe mensagens na forma de fluxos paralelos de execução longa (as mensagens são associadas a um fluxo usando a propriedade SessionId na mensagem). Neste modelo, cada nó no aplicativo de consumo compete por fluxos, e não por mensagens. Quando um fluxo é dado a um nó de consumo, o nó pode examinar o estado de fluxo do aplicativo usando transações.

  • Sua solução requer comportamento transacional e atomicidade ao enviar ou receber várias mensagens de uma fila.

  • A característica de TTL (vida útil) da carga de trabalho específica ao aplicativo pode exceder o período de 7 dias.

  • Seu aplicativo manipula mensagens que podem exceder 64 KB, mas provavelmente não se aproximará do limite de 256 KB.

  • Você lida com uma exigência de fornecer um modelo de acesso baseado em função às filas, e direitos/permissões diferentes para remetentes e destinatários.

  • O tamanho da fila não ultrapassará 80 GB.

  • Você quer usar o agente de mensagens com base em padrões AMQP 1.0. Para obter mais informações sobre AMQP, consulte Visão geral do AMQP do Service Bus.

  • Você pode prever uma migração eventual da comunicação ponto a ponto baseada em fila para um padrão de troca de mensagens que permite a integração perfeita de destinatários adicionais (assinantes), cada um dos quais recebe cópias independentes de algumas ou de todas as mensagens enviadas à fila. O último se refere ao recurso de publicação/assinatura fornecido pelo Service Bus de forma nativa.

  • Sua solução de mensagens deve ser capaz de dar suporte à garantia de entrega "no máximo uma vez" sem a necessidade de que você crie os componentes adicionais da infraestrutura.

  • Você gostaria de poder publicar e consumir lotes de mensagens.

  • Precisa de integração total com a pilha de comunicação do Windows Communication Foundation (WCF) no .

As tabelas nas seções a seguir fornecem um agrupamento lógico de recursos de fila e permitem que você compare imediatamente os recursos disponíveis nas Filas do e nas Filas do Service Bus.

Esta seção compara alguns dos recursos básicos de enfileiramento fornecidos pelas Filas do e pelas Filas do Microsoft Azure Service Bus.

 

Critérios de comparação Filas do Filas do Service Bus

Garantia de ordenação

Não

Sim - FIFO

(com o uso de sessões de mensagens)

Garantia de entrega

Pelo menos uma vez

Pelo menos uma vez

No máximo uma vez

Suporte a transações

Não

Sim

(com o uso de transações locais)

Comportamento de recebimento

Sem bloqueio

(concluído imediatamente se nenhuma mensagem nova for localizada)

Bloqueio com/sem tempo limite

(oferece sondagem longa ou a "técnica Comet")

Sem bloqueio

(com o uso da API gerenciada pelo .NET somente)

API de estilo push

Não

Sim

API das sessões gerenciadas OnMessage e OnMessage (.NET).

Modo de recebimento

Espiada e concessão&

Espiada e bloqueio &

Recebimento e exclusão &

Modo de acesso exclusivo

Baseado em concessão

Baseado em bloqueio

Duração da concessão/bloqueio

30 segundos (padrão)

7 dias (máximo) (Você pode renovar uma concessão de mensagens usando a API UpdateMessage.)

60 segundos (padrão)

Você pode renovar um bloqueio de mensagens usando a API RenewLock.

Granularidade da concessão/bloqueio

Nível da mensagem

(cada mensagem pode ter um valor de tempo limite diferente, que você pode, então, atualizar como necessário durante o processamento da mensagem, usando a API UpdateMessage)

Nível da fila

(cada fila tem uma granularidade de bloqueio aplicada a todas as suas mensagens, mas você pode renovar o bloquei usando a API RenewLock)

Recebimento em lote

Sim

(especificando explicitamente a contagem de mensagens ao recuperar mensagens, até um máximo de 32 mensagens)

Sim

(habilitando implicitamente uma propriedade de pré-busca ou explicitamente com o uso de transações)

Envio em lote

Não

Sim

(com o uso de transações ou envio em lote do lado do cliente)

  • Se já estiver usando as tabelas ou o armazenamento Blob do Azure e começar a usar as filas, você terá garantia de disponibilidade de 99,9%. Se usar Blobs ou Tabelas com filas do Service Bus, você terá menor disponibilidade.

  • O padrão FIFO garantido em Filas do Service Bus requer o uso de sessões de mensagens. No caso de o aplicativo falhar ao processar uma mensagem recebida no modo Peek & Lock, a próxima vez que um destinatário da fila aceitar uma sessão de mensagens, ela iniciará com a mensagem de falha depois que o período TTL expirar.

  • As filas do são criadas para suportar cenários de filas padrão, como a dissociação de componentes do aplicativo para aumentar a escalabilidade e a tolerância a falhas, o nivelamento de carga e construir fluxos de trabalho do processo.

  • As filas do Service Bus oferecem suporte à garantia de entrega Pelo menos uma vez. Além disso, a semântica de No máximo uma vez pode ter suporte com o uso do estado da sessão para armazenar o estado do aplicativo, e o uso de transações para receber mensagens e atualizar o estado da sessão de forma atômica. O serviço de fluxo de trabalho do usa essa técnica para garantir a entrega No máximo uma vez.

  • As filas do oferecem um modelo de programação consistente e uniforme em filas, tabelas e BLOBs, tanto para desenvolvedores como para equipes de operações.

  • As filas do Service Bus oferecem suporte a transações locais no contexto de uma única fila.

  • O modo Recebimento e exclusão com suporte no Service Bus oferece a capacidade de reduzir a contagem de operações de mensagens (e o custo associado) em troca de menor garantia de entrega.

  • As filas do oferecem concessões com a possibilidade de ampliar as concessões para mensagens. Isso permite que os trabalhos mantenham concessões curtas em mensagens. Assim, se um trabalho falhar, a mensagem poderá ser rapidamente processada mais uma vez por outro trabalho. Além disso, um trabalho poderá ampliar a concessão em uma mensagem se precisar processá-la por mais do que o tempo de concessão atual.

  • As filas do oferecem um tempo limite de visibilidade que você pode definir ao enfileirar uma mensagem ou removê-la da fila. Além disso, você pode atualizar uma mensagem com valores de concessão em tempo de execução e atualizar diferentes valores entre as mensagens na mesma fila. Os tempos limites de bloqueio do Service Bus são definidos nos metadados de fila, contudo você pode renovar o bloqueio, chamando o método RenewLock.

  • O tempo limite máximo para uma operação de recebimento de bloqueio em filas do Service Bus é de 24 dias. Entretanto, os tempos limites baseados em REST têm um valor máximo de 55 segundos.

  • O envio em lote do lado do cliente oferecido pelo Service Bus permite que um cliente da fila crie um lote de várias mensagens para uma única operação de envio. O envio em lote está disponível apenas para operações de envio assíncronas.

  • Recursos como o limite de 200 TB das filas do (mais quando você virtualiza contas) e filas ilimitadas o tornam uma plataforma ideal para provedores de SaaS.

  • As filas do oferecem um mecanismo de controle de acesso delegado funcional e flexível.

Esta seção compara os recursos avançados oferecidos pelas filas do e pelas filas do Service Bus.

 

Critérios de comparação Filas do Filas do Service Bus

Entrega agendada

Sim

Sim

Mensagens mortas automáticas

Não

Sim

Aumentar o valor de vida útil

Sim

(por meio da atualização in-loco de tempo limite de visibilidade)

Sim

(fornecida por uma função de API dedicada)

Suporte a mensagens suspeitas

Sim

Sim

Atualização in-loco

Sim

Sim

Log de transações do servidor

Sim

Não

Métrica de armazenamento

Sim

A Métrica de minutos: fornece métricas em tempo real para disponibilidade, TPS, contagens de chamadas de API, contagens de erro e muito mais; tudo isso em tempo real (agregadas por minuto e informadas minutos após a ocorrência na produção. Para obter mais informações, consulte Sobre as métricas da Análise de Armazenamento.

Sim

(consultas em lotes ao chamar GetQueues)

Gerenciamento de estado

Não

Sim

Microsoft.ServiceBus.Messaging.EntityStatus.Active, Microsoft.ServiceBus.Messaging.EntityStatus.Disabled, Microsoft.ServiceBus.Messaging.EntityStatus.SendDisabled, Microsoft.ServiceBus.Messaging.EntityStatus.ReceiveDisabled

Encaminhamento automático de mensagem

Não

Sim

Função de limpeza de fila

Sim

Não

Grupos de mensagens

Não

Sim

(com o uso de sessões de mensagens)

Estado do aplicativo por grupo de mensagens

Não

Sim

Detecção de duplicidades

Não

Sim

(configurável no lado do remetente)

Integração ao WCF

Não

Sim

(associações WCF prontas para uso)

Integração WF

Personalizado

(requer a criação de uma atividade WF personalizada)

Nativo

(oferece atividades WF prontas para uso)

Navegação em grupos de mensagens

Não

Sim

Busca em sessões de mensagens por ID

Não

Sim

  • As duas tecnologias de enfileiramento permitem que uma mensagem seja agendada para entrega posteriormente.

  • O encaminhamento automático de fila permite que milhares de filas encaminhem automaticamente suas mensagens para uma fila única, na qual o aplicativo de recebimento consome a mensagem. Você pode usar esse mecanismo para obter segurança, controlar o fluxo e isolar o armazenamento entre cada editor de mensagem.

  • As filas do oferecem suporte à atualização de conteúdo da mensagem. Essa funcionalidade pode ser usada para informações de estado persistentes e atualizações incrementais de progresso na mensagem, para que possa ser processada a partir do último ponto de verificação conhecido, em vez de começar do zero. Com as filas do Service Bus, você pode ativar o mesmo cenário por meio do uso de sessões de mensagens. As sessões lhe permitem salvar e recuperar o estado de processamento do aplicativo (usando SetState e GetState).

  • O recurso de mensagens mortas, que tem suporte apenas em filas do Service Bus, pode ser útil para isolar as mensagens que não podem ser processadas com êxito pelo aplicativo de recebimento ou quando as mensagens não podem chegar ao seu destino devido a uma propriedade TTL expirada. O valor de TTL especifica quanto tempo uma mensagem permanece na fila. Com o Service Bus, a mensagem será movida para uma fila especial chamada $DeadLetterQueue quando o período de TTL expirar.

  • Para localizar mensagens "suspeitas" em Filas do , ao remover uma mensagem da fila, o aplicativo examina a propriedade DequeueCount da mensagem. Se DequeueCount estiver acima de um determinado limite, o aplicativo moverá a mensagem para uma fila de "mensagens mortas" definida pelo aplicativo.

  • As filas do permitem que você obtenha um log detalhado de todas as transações executadas na fila, bem como as métricas agregadas. Ambos são úteis para depurar e entender como seu aplicativo usa filas do . Também são úteis para ajustar o desempenho do seu aplicativo e reduzir os custos do uso de filas.

  • O conceito de "sessões de mensagens" com suporte no Service Bus permite que as mensagens que pertencem a um determinado grupo lógico sejam associadas a um destinatário específico, o que, por sua vez, cria uma afinidade de sessão entre as mensagens e seus respectivos destinatários. Você pode habilitar essa funcionalidade avançada no Service Bus definindo a propriedade SessionID em uma mensagem. Os destinatários poderão então escutar em uma ID de sessão específica e receber mensagens que compartilham o identificador de sessão especificado.

  • A funcionalidade de detecção de duplicidades com suporte em filas do Service Bus remove automaticamente as mensagens duplicadas enviadas a uma fila ou um tópico, com base no valor da propriedade MessageID.

Esta seção compara as filas do com as filas do Service Bus em termos de capacidade e cotas que possam ser aplicáveis.

 

Critérios de comparação Filas do Filas do Service Bus

Tamanho máximo da fila

200 TB

(limitado à capacidade de uma única conta de armazenamento)

1 GB a 80 GB

(definido na criação de uma fila e ao ativar o particionamento)

Tamanho máximo da mensagem

64 KB

(48 KB ao usar a codificação Base64)

O Azure suporta mensagens grandes combinando filas e blobs, e é nesse ponto que você pode enfileirar até 200 GB para um único item.

256 KB

(incluindo o cabeçalho e o corpo, tamanho máximo do cabeçalho: 64 KB)

TTL máximo da mensagem

7 dias

Ilimitado

Número máximo de filas

Ilimitado

10,000

(por namespace de serviço, pode ser aumentado)

Número máximo de clientes simultâneos.

Ilimitado

Ilimitado

(o limite de 100 conexões simultâneas se aplica apenas à comunicação baseada no protocolo TCP)

  • Com as filas do , se o conteúdo da mensagem não for XML seguro, ele deverá ter a codificação Base64. Se você codificar a mensagem em Base64, a carga do usuário poderá ser de até 48 KB, em vez de 64 KB.

  • Com as filas do Service Bus, cada mensagem armazenada em uma fila é composta de duas partes: um cabeçalho e um corpo. O tamanho total da mensagem não pode exceder 256 KB.

  • Quando os clientes se comunicam com filas do Service Bus sobre o protocolo TCP, o número máximo de conexões simultâneas com uma única fila do Service Bus se limita a 100. Esse número é compartilhado entre remetentes e destinatários. Se essa cota for atingida, as solicitações subsequentes por conexões adicionais serão rejeitadas e uma exceção será recebida pelo código de chamada. Esse limite não é imposto a clientes que se conectam às filas usando a API baseada em REST.

  • O Service Bus impõe limites de tamanho de fila. O tamanho máximo da fila é especificado na criação da fila e pode ter um valor entre 1 e 80 GB. Se o valor do tamanho de fila definido na criação da fila for atingido, as mensagens de entrada adicionais serão rejeitadas e uma exceção será recebida pelo código de chamada. Para as cotas do Para obter mais informações sobre no Service Bus, consulte Cotas do Windows Azure Service Bus.

  • Se você precisar de mais de 10.000 filas em um único Service Bus do namespace de serviço, poderá contatar a equipe de suporte do e solicitar um aumento. Para dimensionar além de 10.000 filas com o Service Bus, você também pode criar namespaces de serviço adicionais usando o Portal de Gerenciamento do .

Esta seção compara os recursos de gerenciamento oferecidos pelas filas do e pelas filas do Service Bus.

 

Critérios de comparação Filas do Filas do Service Bus

Protocolo de gerenciamento

REST sobre HTTP/HTTPS

REST sobre HTTPS

Protocolo de tempo de execução

REST sobre HTTP/HTTPS

REST sobre HTTPS

AMQP 1.0 Padrão (TCP com TLS)

API gerenciada pelo .NET

Sim

(API de cliente de armazenamento gerenciada pelo .NET)

Sim

(API de mensagens orientadas gerenciadas pelo .NET)

Nativo C++

Sim

Não

API Java

Sim

Sim

API PHP

Sim

Sim

API Node.js

Sim

Sim

Suporte a metadados arbitrários

Sim

Não

Regras de nomenclatura de fila

Até 63 caracteres de comprimento

(as letras em um nome de fila devem estar em minúsculas)

Até 260 caracteres de comprimento

(os nomes de filas diferenciam maiúsculas de minúsculas)

Função de obter o comprimento da fila

Sim

(valor aproximado se as mensagens expirarem além do TTL sem que sejam excluídas)

Sim

(valor exato em um momento determinado)

Função de espiada

Sim

Sim

  • As filas do oferecem suporte a atributos arbitrários que podem ser aplicados à descrição da fila, na forma de pares de nome/valor.

  • As duas tecnologias oferecem a capacidade de espiar uma mensagem sem precisar bloqueá-la, o que pode ser útil ao implementar uma ferramenta de gerenciador/navegador de filas.

  • A API de mensagens orientadas gerenciada pelo .NET do Service Bus utiliza conexões TCP full duplex para melhorar o desempenho em comparação com o REST sobre HTTP, e suportam o protocolo padrão AMQP 1.0.

  • Os nomes de Filas do podem conter entre 3 e 63 caracteres, podem incluir letras minúsculas, números e hífens. Para obter mais informações, consulte Nomeando filas e metadados.

  • Os nomes de filas do Service Bus podem ter até 260 caracteres de comprimento e devem ter regras de nomenclatura menos restritivas. os nomes de filas do Service Bus podem conter letras, números, pontos (.), hífens (-) e sublinhados (_).

Esta seção compara as filas do com as Filas do Service Bus em termos de desempenho.

 

Critérios de comparação Filas do Filas do Service Bus

Taxa de transferência máxima

Até 2.000 mensagens por segundo

(com base no parâmetro de comparação com mensagens de 1 KB)

Até 2.000 mensagens por segundo

(com base no parâmetro de comparação com mensagens de 1 KB)

Latência média

10 ms

(com o TCP Nagle desabilitado)

20-25 ms

Comportamento de limitação

Rejeitar com o código HTTP 503

(as solicitações limitadas não são tratadas como faturáveis)

Rejeitar com exceção/HTTP 503

(as solicitações limitadas não são tratadas como faturáveis)

  • Uma única fila do pode processar até 2.000 transações por segundo. Uma transação é uma operação Put, Get ou Delete. O envio de uma única mensagem a uma fila (Put) é contado como uma transação, mas o recebimento de uma mensagem é frequentemente um processo de duas etapas que envolve a recuperação (Get), seguida por uma solicitação de remover a mensagem da fila (Delete). Como resultado, uma operação bem-sucedida de remoção da fila geralmente envolve duas transações. A recuperação de várias mensagens em um lote pode reduzir o impacto disso, pois você pode Get até 32 mensagens em uma única transação, seguido por uma Delete para cada item. Para obter uma melhor transferência, você pode criar várias filas (uma conta de armazenamento pode ter um número ilimitado de filas).

  • Quando seu aplicativo atinge a taxa de transferência máxima para uma fila do , uma resposta "Servidor HTTP 503 Ocupado" é normalmente retornada do serviço de fila. Quando isso ocorre, o aplicativo deve disparar a lógica de repetição com atraso de retirada exponencial.

  • A latência de filas do é de 10 milissegundos em média na manipulação de mensagens pequenas (menos de 10 KB) de um serviço hospedado, situado no mesmo local (região) que a conta de armazenamento.

  • Tanto as filas do quanto as filas do Service Bus impõem o comportamento de limitação rejeitando as solicitações a uma fila que está sendo limitada. Entretanto, nenhuma delas trata as solicitações limitadas como faturáveis.

  • Parâmetros de comparação aplicados em filas do Service Bus demonstraram que uma única fila pode obter uma taxa de transferência de até 2.000 mensagens por segundo com um tamanho de mensagem de aproximadamente 1 KB. Para obter uma taxa de transferência mais alta, use várias filas. Para obter mais informações sobre a otimização de desempenho com o Service Bus, consulte Práticas recomendadas para melhorias de desempenho usando o sistema de mensagens agenciado do Service Bus.

  • Quando a taxa de transferência máxima é atingida para uma fila do Service Bus, uma resposta ServerBusyException (ao usar a API de mensagens orientadas gerenciadas pelo .NET) ou HTTP 503 (ao usar a API baseada em Rest) será retornada ao cliente da fila, indicando que a fila está sendo limitada.

Esta seção discute os recursos de autenticação e autorização com suporte em filas do e filas do Service Bus.

 

Critérios de comparação Filas do Filas do Service Bus

Autenticação

Chave simétrica

Chave simétrica

Modelo de controle de acesso

Acesso delegado via tokens SAS.

RBAC via ACS

Federação do provedor de identidade

Não

Sim

  • Cada solicitação a uma das tecnologias de enfileiramento deve ser autenticada. As filas públicas com acesso anônimo não têm suporte. Ao usar SAS, você pode abordar esse cenário com a publicação de um SAS somente gravação, um SAS somente leitura ou até mesmo um SAS de acesso completo.

  • O esquema de autenticação oferecido pelas filas do envolve o uso de uma chave simétrica, que é um HMAC (Hash-based Message Authentication Code), computado com o algoritmo SHA-256 e codificado como uma cadeia de caracteres Base64. Para obter mais detalhes Para obter mais informações sobre sobre o protocolo respectivo, consulte o artigo Autenticando o acesso à sua conta de armazenamento . As filas do Service Bus suportam um modelo semelhante usando chaves simétricas. Para obter mais informações, consulte Autenticação SAS com o Service Bus.

  • O Acess Control do Active Directory do Microsoft Azure (também conhecido como Access Control Service ou ACS) suportado pelo Service Bus oferece três funções distintas: Administrador, Remetente e Destinatário, que, nesse momento, não tem suporte para filas do .

  • Como o Service Bus oferece integração ACS, ele permite a federação com o Active Directory (com o uso do ADFS) e provedores comuns de identidade da Web, como o Live ID, o Google, o Facebook e o Yahoo.

Esta seção compara as filas do com as Filas do Service Bus em termos de custo.

 

Critérios de comparação Filas do Filas do Service Bus

Custo de transação de fila

$0.0005

(por 10.000 transações)

$0.01

(por 10.000 mensagens)

Operações faturáveis

Tudo

Envio/recebimento somente

(nenhum encargo para outras operações)

Transações ociosas

Cobrável

(consultar uma fila vazia conta como uma transação faturável)

Cobrável

(um recebimento em uma fila vazia é considerado uma mensagem faturável)

Custo de armazenamento

$0.07

(por GB/mês)

$0.00

Custos de transferência de dados de saída

$0.12 - $0.19

(dependendo da geografia)

$0.12 - $0.19

(dependendo da geografia)

  • As transferências de dados são cobradas com base na quantidade total de dados que saem dos data centers do por meio da Internet em um determinado período de faturamento.

  • As transferências de dados entre os serviços do localizados na mesma região não estão sujeitas a encargos.

  • Durante a redação deste artigo, nenhuma das transferências de dados de entrada era sujeita a encargos.

  • O custo das transações do ACS é insignificante na execução de operações de mensagens em filas do Service Bus. O Service Bus adquire um token ACS por uma única instância do objeto de fábrica de mensagens. O token é então reutilizado até expirar, depois de aproximadamente 20 minutos. Portanto, o volume de operações de mensagens no Service Bus não é diretamente proporcional à quantidade de transações ACS necessárias para oferecer suporte a essas operações.

  • Considerando-se o suporte para a sondagem longa, o uso de filas do Service Bus pode ser econômico em situações em que uma entrega de baixa latência é necessária.

noteObservação
Todos os custos estão sujeitos a alterações. A tabela acima reflete os preços atuais até a redação deste artigo e não inclui nenhuma oferta promocional que possa estar disponível no momento. Para obter informações atualizadas sobre preços, consulte a página de visão geral de preços.

A decisão sobre quando usar filas do ou filas do Service Bus depende claramente de uma série de fatores. Esses fatores podem depender consideravelmente das necessidades individuais de seu aplicativo e de sua arquitetura. Se seu aplicativo já utiliza os recursos essenciais do , você talvez prefira escolher filas do , principalmente se precisar de comunicação básica e mensagens entre serviços, ou se precisar de filas com mais de 80 GB.

Como as filas do Service Bus fornecem uma série de recursos avançados, como sessões, transações, detecção de duplicidades, cartas mortas automáticas e recursos de publicação/assinatura duráveis, elas poderão ser uma opção preferencial se você estiver criando um aplicativo híbrido ou se seu aplicativo de algum modo exigir esses recursos.

Este artigo começou com um resumo de recomendações prescritivas, depois listou e comparou os recursos de cada tecnologia de enfileiramento oferecida pelo atualmente. Listando recursos em grupos funcionais, o tópico apresentou uma análise lado a lado visualmente interessante que deve ajudá-lo a entender as semelhanças e as diferenças entre as filas do e as filas do Service Bus. Com uma compreensão mais profunda das duas tecnologias, você poderá tomar uma decisão mais informada sobre qual tecnologia de fila usar, e quando.

Consulte também

Mostrar:
© 2014 Microsoft