Share via


Puerta de enlace dedicada de Azure Cosmos DB: información general

SE APLICA A: NoSQL

Una puerta de enlace dedicada es un proceso del lado servidor que actúa como front-end en su cuenta de Azure Cosmos DB. Cuando se conecta a la puerta de enlace dedicada, esta enruta las solicitudes y almacena los datos en caché. Al igual que el rendimiento aprovisionado, la puerta de enlace dedicada se factura por horas.

Información general

Puede aprovisionar una puerta de enlace dedicada para mejorar el rendimiento a gran escala. La razón más común de querer aprovisionar una puerta de enlace dedicada sería para el almacenamiento en caché. Al aprovisionar una puerta de enlace dedicada, se configura automáticamente una caché integrada dentro de la puerta de enlace dedicada. Las consultas y las lecturas puntuales que llegan a la caché integrada no usan ninguna RU. El aprovisionamiento de una puerta de enlace dedicada con una caché integrada puede ayudar a que las cargas de trabajo con mucha actividad de lectura reduzcan los costos de Azure Cosmos DB.

La puerta de enlace dedicada está integrada en Azure Cosmos DB. Al aprovisionar una puerta de enlace dedicada, tiene un nodo totalmente administrado que enruta las solicitudes a las particiones de back-end. La conexión a Azure Cosmos DB con la puerta de enlace dedicada proporciona una latencia menor y más predecible que la conexión a Azure Cosmos DB con la puerta de enlace estándar. Incluso los errores de caché observarán mejoras de latencia al comparar la puerta de enlace dedicada y la puerta de enlace estándar.

Solo se requieren cambios mínimos en el código para que la aplicación use una puerta de enlace dedicada. Tanto las cuentas de Azure Cosmos DB nuevas como las existentes pueden aprovisionar una puerta de enlace dedicada para mejorar el rendimiento de lectura.

Nota:

¿Tiene comentarios sobre la puerta de enlace dedicada? Queremos conocerlos. No dude en compartir comentarios directamente con el equipo de ingeniería de Azure Cosmos DB: cosmoscachefeedback@microsoft.com.

Modos de conexión

Hay dos modos de conectividad para Azure Cosmos DB: modo directo y modo de puerta de enlace. Con el modo de puerta de enlace, puede conectarse a la puerta de enlace estándar o a la puerta de enlace dedicada en función del punto de conexión que configure.

Diagrama que muestra cómo funcionan los modos de conectividad de Azure Cosmos DB.

Conexión a Azure Cosmos DB con el modo directo

Cuando se conecta a Azure Cosmos DB con el modo directo, la aplicación se conecta directamente al back-end de Azure Cosmos DB. Incluso si tiene muchas particiones físicas, el enrutamiento de solicitudes se controla completamente en el lado cliente. El modo directo ofrece baja latencia porque la aplicación puede comunicarse directamente con el back-end de Azure Cosmos DB y no necesita un salto de red intermedio. Si decide conectarse con el modo directo, las solicitudes no usarán la puerta de enlace dedicada ni la caché integrada.

Conexión a Azure Cosmos DB con el modo de puerta de enlace

Si se conecta a Azure Cosmos DB con el modo de puerta de enlace, la aplicación se conectará primero a un nodo front-end, que controla el enrutamiento de la solicitud a los nodos back-end adecuados. Dado que el modo de puerta de enlace implica un salto de red adicional, puede observar una latencia ligeramente mayor en comparación con el modo directo.

Al conectarse a Azure Cosmos DB con el modo de puerta de enlace, puede conectarse con cualquiera de las siguientes opciones:

  • Puerta de enlace estándar: aunque el back-end, que incluye el rendimiento y el almacenamiento aprovisionados, tiene capacidad dedicada por contenedor, la puerta de enlace estándar se comparte entre muchas cuentas de Azure Cosmos DB. Resulta práctico para que muchos clientes compartan una puerta de enlace estándar, ya que los recursos de proceso que consume cada cliente son mínimos.
  • Puerta de enlace dedicada: en esta puerta de enlace, el back-end y la puerta de enlace tienen capacidad dedicada. La memoria caché integrada requiere una puerta de enlace dedicada porque requiere una CPU y memoria significativas que son específicas de la cuenta de Azure Cosmos DB.

Debe conectarse a Azure Cosmos DB mediante la puerta de enlace dedicada para poder usar la memoria caché integrada. La puerta de enlace dedicada tiene un punto de conexión diferente del estándar que se proporciona con la cuenta de Azure Cosmos DB, pero las solicitudes se enrutan de la misma manera. Cuando se conecta al punto de conexión de puerta de enlace dedicada, la aplicación envía una solicitud a la puerta de enlace dedicada, que luego enruta la solicitud a distintos nodos back-end. Si es posible, la memoria caché integrada servirá el resultado.

Diagrama de conexión del modo de puerta de enlace con una puerta de enlace dedicada:

Diagrama que muestra cómo funciona la puerta de enlace dedicada de Azure Cosmos DB.

Aprovisionamiento de la puerta de enlace dedicada

Un clúster de puerta de enlace dedicada se puede aprovisionar en cuentas de API para No SQL. Un clúster de puerta de enlace dedicada puede tener hasta cinco nodos de forma predeterminada, y en cualquier momento se pueden agregar o quitar nodos. Todos los nodos de puerta de enlace dedicada de la cuenta comparten la misma cadena de conexión.

Los nodos de puerta de enlace dedicada son independientes entre sí. Al aprovisionar varios nodos de puerta de enlace dedicada, cualquier nodo único puede enrutar cualquier solicitud determinada. Además, cada nodo tiene una caché integrada e independiente del resto. Los datos en caché dentro de cada nodo dependen de los datos que se han escrito o leído recientemente a través de ese nodo específico. Si un elemento o una consulta se almacenan en caché en un nodo, no necesariamente se almacenan en caché en los demás.

Para el desarrollo, se recomienda empezar con un nodo, pero para producción, debe aprovisionar tres o más nodos para alta disponibilidad. Aprenda a aprovisionar un clúster de puerta de enlace dedicada con una caché integrada. El aprovisionamiento de varios nodos de puerta de enlace dedicada permite que el clúster de puerta de enlace dedicada siga enrutando las solicitudes y sirviendo los datos almacenados en caché, incluso cuando uno de los nodos de puerta de enlace dedicada no está disponible.

La puerta de enlace dedicada está disponible en los siguientes tamaños. La caché integrada usa aproximadamente el 50 % de la memoria y el resto está reservado para metadatos y solicitudes de enrutamiento a particiones de back-end.

Nombre de SKU vCPU Memoria
D4s 4 16 GB
D8s 8 32 GB
D16s 16 64 GB

Sugerencia

Una vez creada, puede agregar o quitar nodos de puerta de enlace dedicada, pero no puede modificar el tamaño de los nodos. Para cambiar el tamaño de los nodos de la puerta de enlace dedicada, puede desaprovisionar el clúster y aprovisionarlo de nuevo en un tamaño diferente. Esto dará lugar a un breve período de tiempo de inactividad, a menos que cambie la cadena de conexión de la aplicación para que use la puerta de enlace estándar durante el reaprovisionamiento.

Hay muchas maneras diferentes de aprovisionar una puerta de enlace dedicada:

Nota:

No se puede aprovisionar una puerta de enlace dedicada en las cuentas de Azure Cosmos DB con zonas de disponibilidad por solicitud. Para obtener más información, póngase en contacto con cosmoscachefeedback@microsoft.com.

Puerta de enlace dedicada en cuentas de varias regiones

Al aprovisionar un clúster de puerta de enlace dedicada en cuentas de varias regiones, se aprovisionan clústeres de puerta de enlace dedicada idénticos en cada región. Por ejemplo, considere una cuenta de Azure Cosmos DB en Este de EE. UU. y Norte de Europa. Si aprovisiona un clúster de puerta de enlace dedicada con dos nodos D8 en esta cuenta, tendría cuatro nodos D8 en total: dos en Este de EE. UU. y dos en Norte de Europa. No es necesario configurar explícitamente puertas de enlace dedicadas en cada región, y la cadena de conexión sigue siendo la misma. Tampoco hay ningún cambio en los procedimientos recomendados para realizar conmutaciones por error.

Al igual que los nodos de un clúster, los nodos de puerta de enlace dedicada entre regiones son independientes. Es posible que los datos en caché de cada región sean diferentes, en función de las lecturas o escrituras recientes en esa región.

Limitaciones

La puerta de enlace dedicada tiene las siguientes limitaciones:

  • Las puertas de enlace dedicadas solo se admiten en cuentas de API para NoSQL
  • No se puede usar el control de acceso basado en roles (RBAC) paraautenticar las solicitudes del plano de datos enrutadas a través de la puerta de enlace dedicada.

Pasos siguientes

Obtenga más información sobre el uso de la puerta de enlace dedicada en los artículos siguientes: