Compartilhar via


Gateway dedicado do Azure Cosmos DB – Visão geral

APLICA-SE A: NoSQL

Um gateway dedicado é a computação do lado do servidor que é um front-end para sua conta do Azure Cosmos DB. Quando você se conecta ao gateway dedicado, ele roteia solicitações e armazena dados em cache. Assim como a taxa de transferência provisionada, o gateway dedicado é cobrado por hora.

Visão geral

Você pode provisionar um gateway dedicado para melhorar o desempenho em escala. O motivo mais comum pelo qual você poderia querer provisionar um gateway dedicado seria o armazenamento em cache. Quando você provisiona um gateway dedicado, um cache integrado é configurado automaticamente no gateway dedicado. As leituras de ponto e as consultas que ocorrem no cache integrado não usam nenhuma das suas RUs. O provisionamento de um gateway dedicado com um cache integrado pode ajudar cargas de trabalho de leitura intensa a reduzir os custos no Azure Cosmos DB.

O gateway dedicado é integrado ao Azure Cosmos DB. Ao provisionar um gateway dedicado, você tem um nó totalmente gerenciado que roteia solicitações para partições de back-end. A conexão ao Azure Cosmos DB com o gateway dedicado fornece latência menor e mais previsível do que a conexão ao Azure Cosmos DB com o gateway padrão. Até as perdas no cache terão melhorias de latência ao comparar o gateway dedicado ao gateway padrão.

Há apenas alterações mínimas de código necessárias para que seu aplicativo use um gateway dedicado. Contas novas e existentes do Azure Cosmos DB podem provisionar um gateway dedicado para melhorar o desempenho de leitura.

Observação

Você tem comentários sobre o gateway dedicado? Queremos saber sua opinião! Sinta-se à vontade para compartilhar comentários diretamente com a equipe de engenharia do Azure Cosmos DB: cosmoscachefeedback@microsoft.com

Modos de conexão

Há dois modos de conectividade para o Azure Cosmos DB, modo direto e modo de gateway. Com o modo de gateway, você pode se conectar ao gateway padrão ou ao gateway dedicado, dependendo do ponto de extremidade configurado.

Diagrama mostrando como os modos de conectividade do Azure Cosmos DB funcionam.

Conectar-se ao Azure Cosmos DB usando o modo direto

Quando você se conecta ao Azure Cosmos DB usando o modo direto, seu aplicativo se conecta diretamente ao back-end do Azure Cosmos DB. Mesmo que você tenha diversas partições físicas, o roteamento de solicitação é manipulado totalmente no lado do cliente. O modo direto oferece baixa latência pois seu aplicativo pode se comunicar diretamente com o back-end do Azure Cosmos DB e não precisa de um salto de rede intermediário. Se você optar por se conectar com o modo direto, suas solicitações não usarão o gateway dedicado nem o cache integrado.

Conectar-se ao Azure Cosmos DB usando o modo gateway

Se você se conectar ao Azure Cosmos DB usando o modo gateway, seu aplicativo se conectará a um nó de front-end primeiro, que roteia a solicitação para os nós de back-end apropriados. Como o modo gateway envolve um salto de rede adicional, você pode observar uma latência ligeiramente maior em comparação ao modo direto.

Ao conectar-se ao Azure Cosmos DB com o modo gateway, você pode se conectar com uma das seguintes opções:

  • Gateway padrão – Embora o back-end, que inclui armazenamento e taxa de transferência provisionada, tenha capacidade dedicada por contêiner, o gateway padrão é compartilhado por diversas contas do Azure Cosmos DB. É prático para muitos clientes compartilhar um gateway padrão, pois os recursos de computação consumidos por cliente individual são mínimos.
  • Gateway dedicado - neste gateway, o back-end e o gateway têm capacidade dedicada. O cache integrado exige um gateway dedicado pois ele requer CPU e memória significativas que são específicas para sua conta do Azure Cosmos DB.

Você deve se conectar ao Azure Cosmos DB usando o gateway dedicado para usar o cache integrado. O gateway dedicado tem um ponto de extremidade diferente do padrão fornecido com a conta do Azure Cosmos DB, mas as solicitações são roteadas da mesma forma. Quando você se conecta ao ponto de extremidade de gateway dedicado, seu aplicativo envia uma solicitação para o gateway dedicado, que, em seguida, encaminha a solicitação para diferentes nós do back-end. Se possível, o cache integrado atenderá ao resultado.

Diagrama da conexão do modo gateway com um gateway dedicado:

Diagrama mostrando como o gateway dedicado do Azure Cosmos DB funciona.

Provisionamento do gateway dedicado

Um cluster de gateway dedicado pode ser provisionado na API para contas de NoSQL. Um cluster de gateway dedicado pode ter até cinco nós, e você pode adicionar ou remover nós a qualquer momento. Todos os nós de gateway dedicados em sua conta compartilham a mesma cadeia de conexão.

Nós de gateway dedicados são independentes entre si. Quando você provisiona vários nós de gateway dedicados, qualquer nó pode roteá-los para qualquer solicitação específica. Além disso, cada nó possui um cache integrado e separado. Os dados armazenados em cache em cada nó dependem dos dados gravados ou lidos recentemente através desse nó específico. Em outras palavras, se um item ou uma consulta for armazenado em cache em um nó, ele não será necessariamente armazenado em cache nos outros.

Para desenvolvimento, recomendamos começar com um nó, mas para produção, você deve provisionar três ou mais nós para alta disponibilidade. Saiba como provisionar um cluster de gateway dedicado com um cache integrado. O provisionamento de vários nós de gateway dedicados permite que o cluster de gateway dedicado continue roteando solicitações e atendendo a dados armazenados em cache, mesmo quando um dos nós do gateway dedicado não estiver disponível.

O gateway dedicado está disponível nos tamanhos a seguir. O cache integrado usa cerca de 50% da memória e o restante é reservado para metadados e solicitações de roteamento para partições de back-end.

Nome do Sku vCPU Memória
D4s 4 16 GB
D8s 8 32 GB
D16s 16 64 GB

Dica

Depois de criado, você pode adicionar ou remover nós de gateway dedicados, mas não pode modificar o tamanho dos nós. Para alterar o tamanho dos nós de gateway dedicados, você pode desprovisionar o cluster e provisioná-lo novamente em um tamanho diferente. Isso resultará em um curto período de tempo de inatividade, a menos que você altere a cadeia de conexão no aplicativo para usar o gateway padrão durante o reprovisionamento.

Há muitas maneiras diferentes de provisionar um gateway dedicado:

Observação

Você pode provisionar um gateway dedicado em contas do Azure Cosmos DB com zonas de disponibilidade mediante solicitação. Procure cosmoscachefeedback@microsoft.com para saber mais.

Gateway dedicado em contas de várias regiões

Quando você provisiona um cluster de gateway dedicado em contas de várias regiões, clusters de gateway dedicados idênticos são provisionados em cada região. Por exemplo, considere uma conta do Azure Cosmos DB no leste dos EUA e Norte da Europa. Se você provisionar um cluster de gateway dedicado com dois nós D8 nessa conta, você terá quatro nós D8 no total - dois no Leste dos EUA e dois no Norte da Europa. Você não precisa configurar explicitamente gateways dedicados em cada região e a cadeia de conexão permanece a mesma. Também não há nenhuma alteração nas práticas recomendadas para a execução de failovers.

Como os nós em um cluster, os nós de gateway dedicados entre regiões são independentes. É possível que os dados armazenados em cache em cada região sejam diferentes, dependendo das leituras ou gravações recentes nessa região.

Limitações

O gateway dedicado tem as seguintes limitações:

  • Há suporte para gateways dedicados apenas em contas da API para NoSQL
  • Você não pode usar o controle de acesso baseado em função (RBAC) para autenticar solicitações de plano de dados roteadas por meio do gateway dedicado

Próximas etapas

Leia mais sobre o uso de gateway dedicado nos seguintes artigos: