Hoy lanzamos una nueva versión de 2.1.0 y 2.1.1 que incluye soporte para Multidimensional Scaling (MDS) para Couchbase Server 4.0 Beta y una plétora de correcciones de errores. En este post explicaré qué es MDS y por qué vas a querer aprovecharlo con Couchbase Server 4.0. Ten en cuenta que 2.1.3 es 2.1.2 con una única corrección de errores; si utilizas 2.1.2, te recomiendo encarecidamente que actualices a 2.1.3.

Escala multidimensional (MDS)

El escalado multidimensional es una nueva característica de Couchbase Server 4 que te permite escalar tu cluster tanto hacia fuera como hacia arriba.

Antes de la versión 4.0, los servicios se escalaban de forma homogénea en todo el servidor; ahora puedes especificar que determinados nodos sean, por ejemplo, un nodo de consulta o un nodo de datos o un índice (o ambos o los tres, muchas opciones) y, a continuación, en los nodos en los que se necesita más CPU, esos nodos se pueden escalar con hardware más potente. Por otro lado, si quieres escalar tus nodos de datos con hardware más barato, también puedes hacerlo fácilmente. Es una gran característica para optimizar tu cluster para cargas de trabajo específicas.

Para que las aplicaciones puedan aprovecharlo, el cliente debe saber qué nodos están designados para realizar consultas (N1QL) y qué nodos son responsables de los servicios, como el CRUD clave/valor (nodos de datos). En esta versión proporcionamos soporte para MDS dividiendo los nodos en colecciones específicas dedicadas a una tarea concreta (datos, índice, consulta, etc.). Desde una perspectiva externa, no hay ninguna diferencia, sin embargo internamente sólo los clientes que son "servicio" consciente trabajará con un clúster 4.0. Por compatibilidad con versiones anteriores, sin embargo, esta (y futuras versiones) del SDK seguirá funcionando con Couchbase Server 3.0 y 2.5.

 

Corrección de errores para 2.1.3

 

  • [NCBC-932] - BodyLength es cero cuando se intenta leer el búfer de recepción

 

Corrección de errores, tareas y mejoras en 2.1.2

 

Tarea técnica

  • [NCBC-901] - Hacer que las implementaciones de IServer conozcan los servicios definidos por NodesExt
  • [NCBC-902] - Hacer que la selección del servidor sea "consciente del servicio"
  • [NCBC-903] - Asegúrese de que las peticiones k/v a los buckets memcached utilizan nodos de datos
  • [NCBC-904] - Devuelve un error correcto o una excepción cuando la operación se intenta en un nodo que no soporta el servicio

Error

  • [NCBC-823] - IndexOutOfRangeException durante la conmutación por error con .NET SDK 2.0 .NET SDK
  • [NCBC-886] - El cliente Couchbase devuelve documentos erróneos
  • [NCBC-895] - BufferAllocator se crea por Conexión
  • [NCBC-908] - Fijar fuga de conexión en Memcached cubo disponer
  • [NCBC-911] - Documentación Error en IViewQuery.ConnectionTimeout
  • [NCBC-912] - El cliente intenta deserializar el cuerpo de memcached cuando está vacío
  • [NCBC-913] - El SDK indica incorrectamente que el latido del nodo caído es de 1000 segundos.
  • [NCBC-917] - Error de modificación de la colección durante la operación masiva
  • [NCBC-918] - El rendimiento no se restablece con rb2out en memcached bucket
  • [NCBC-924] - Puerto por defecto a 0 cuando NodeExt no se encuentra en el mapa del cluster

Mejora

  • [NCBC-891] - Actualizar Common.Logging a la versión 3.1
  • [NCBC-899] - Cambiar el valor por defecto de MaxAcquireIterationCount y añadir Delay
  • [NCBC-919] - Configuración global del pool de conexiones para app.config

Nueva función

  • [NCBC-833] - Añadir soporte para nodesext para el servicio n1ql para CB 4.0 Beta

Tarea

  • [NCBC-922] - Recibiendo none(0xffffffffff) como estado de respuesta durante la conmutación por error.

 

Cómo obtener el SDK .NET de Couchbase

El SDK puede descargarse directamente, a través de NuGet, o clonando y extrayendo el repositorio de Github:

  • Descargar los binarios aquí.
  • El paquete NuGet se encuentra en aquí.
  • El repositorio de Github es aquí.

 

Autor

Publicado por Jeff Morris, Ingeniero Superior de Software, Couchbase

Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pasó seis años en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de cómo integrarse con N1QL (lenguaje de consulta).

Dejar una respuesta