Gateway dedicado do Azure Cosmos DB – Descrição geral

APLICA-SE A: NoSQL

Um gateway dedicado é uma 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. Como a taxa de transferência provisionada, o gateway dedicado é cobrado por hora.

Descrição geral

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

O gateway dedicado é incorporado 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. Conectar-se ao Azure Cosmos DB com o gateway dedicado fornece latência menor e mais previsível do que conectar-se ao Azure Cosmos DB com o gateway padrão. Mesmo os erros de cache veem melhorias de latência ao comparar o gateway dedicado e o gateway padrão.

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

Nota

Você tem algum feedback sobre o gateway dedicado? Queremos ouvi-lo! 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, o modo Direto e o modo Gateway. Com o modo Gateway, você pode se conectar ao gateway padrão ou ao gateway dedicado, dependendo do ponto de extremidade configurado.

Diagrama que mostra 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 muitas partições físicas, o roteamento de solicitações é tratado inteiramente do lado do cliente. O modo direto oferece baixa latência porque 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 ou o cache integrado.

Conectar-se ao Azure Cosmos DB usando o modo de gateway

Se você se conectar ao Azure Cosmos DB usando o modo de gateway, seu aplicativo se conectará primeiro a um nó front-end, que lida com o roteamento da solicitação para os nós de back-end apropriados. Como o modo gateway envolve um salto de rede extra, você pode observar uma latência um pouco maior quando comparado ao modo direto.

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

  • Gateway padrão - Embora o back-end, que inclui sua taxa de transferência e armazenamento provisionados, tenha capacidade dedicada por contêiner, o gateway padrão é compartilhado entre muitas contas do Azure Cosmos DB. É prático para muitos clientes compartilhar um gateway padrão, uma vez que os recursos de computação consumidos por cada cliente individual são pequenos.
  • Gateway dedicado - Neste gateway, o back-end e o gateway têm capacidade dedicada. O cache integrado requer um gateway dedicado porque requer CPU e memória significativas 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 sua conta do Azure Cosmos DB, mas as solicitações são roteadas da mesma maneira. Quando você se conecta ao ponto de extremidade do gateway dedicado, seu aplicativo envia uma solicitação para o gateway dedicado, que roteia a solicitação para diferentes nós de back-end. Se possível, o cache integrado serve o resultado.

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

Diagrama que mostra como funciona o gateway dedicado do Azure Cosmos DB.

Provisionamento do gateway dedicado

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

Os nós de gateway dedicados são independentes uns dos outros. Quando você provisiona vários nós de gateway dedicados, qualquer nó único pode rotear qualquer solicitação específica. Além disso, cada nó tem um cache integrado separado dos outros. Os dados armazenados em cache dentro de cada nó dependem dos dados que foram recentemente gravados ou lidos através desse nó específico. Se um item ou consulta é armazenado em cache em um nó, ele não é 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 a rotear solicitações e servir dados armazenados em cache, mesmo quando um dos nós de gateway dedicado não estiver disponível.

O gateway dedicado está disponível nos seguintes tamanhos. O cache integrado usa aproximadamente 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

Gorjeta

Uma vez criados, 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 o ponto de extremidade em seu aplicativo para usar o gateway padrão durante o reprovisionamento.

Há muitas maneiras diferentes de provisionar um gateway dedicado:

Nota

Você pode provisionar um gateway dedicado em contas do Azure Cosmos DB com zonas de disponibilidade por solicitação. Entre em contato para obter cosmoscachefeedback@microsoft.com mais informações.

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 no Norte da Europa. Se você provisionar um cluster de gateway dedicado com dois nós D8 nessa conta, 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 seu ponto de extremidade de gateway dedicado permanece o mesmo. Também não há alterações nas práticas recomendadas para executar failovers.

Como os nós dentro de 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

Os gateways dedicados só são suportados na API para contas NoSQL.

Próximos passos

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