Eventos

Buenas prácticas del servicio de eventos

Servicio de eventos Couchbase se introdujo en Lanzamiento de Couchbase Data Platform 5.5.  La versión 6.0 de la plataforma de datos Couchbase introdujo TemporizadoresSimilar a la Mejores prácticas de indexación que habíamos publicado anteriormente, veamos algunas de las mejores prácticas a la hora de utilizar el Servicio de Eventos de Couchbase:

  1. Sobre depurabilidad y diagnosticabilidad 

(a) Nunca utilice Debugger en entornos de Producción. Se asigna un subproceso para la sesión de depuración cuando está activada. Si el depurador está habilitado (es decir, activado) en entornos de producción, pueden producirse eventos fuera de orden para un documento determinado. (La posibilidad de Activar/Desactivar el Depurador en diferentes entornos está disponible en la versión 6.0).

(b) Los archivos de registro de aplicaciones se rotan por defecto. Actualice el tamaño del archivo de registro en función de su política de rotación de registros.

2. Por ejemplo, la función A que escucha el cubo A escribe en el cubo B y la función B que escucha el cubo B escribe en el cubo A.

3. Rodee siempre el código Javascript en la función utilizando un bloque try-catch para capturar todas las excepciones en tiempo de ejecución; el registro de excepciones garantiza que los mensajes se capturen en los archivos de registro específicos de la aplicación.

4. En Metadata Bucket: 

(a) No vaciar el cubo de metadatos cuando se despliegan las funciones. El cubo de metadatos se utiliza para almacenar mucha información relacionada con el sistema que es utilizada por el Servicio de Eventos Couchbase. El vaciado del cubo de metadatos puede conducir a la pérdida de información del punto de control que puede conducir a Servicio de concursos perder la pista de la secuencia de mutaciones que se procesan. 

(b) Evitar el uso de un cubo efímero como cubo de metadatos es posible, ya que podría expulsar elementos si el uso de memoria supera la cuota. La expulsión de elementos del cubo de metadatos podría dar lugar a comportamientos impredecibles como la pérdida de eventos de temporizador, eventos duplicados que se disparan, etc.  

(c) Recomendamos tener suficientes réplicas para el bucket de metadatos para evitar perder temporizadores y causar eventos duplicados, en caso de fallo de uno o más nodos del servicio de Datos. 

(d) No utilizar el bucket de metadatos para otras aplicaciones. El Servicio de Eventos Couchbase prefija toda la información del sistema que se almacena en el bucket de metadatos con una clave única. Aunque este namespacing de la clave ayuda a diferenciar con otras aplicaciones que pueden insertar en el mismo cubo, se aconseja que los clientes no insertar nuevos documentos en este cubo de otras aplicaciones, ni upsert / borrar los documentos existentes insertados por el Servicio de Eventos Couchbase.

5. Las estadísticas mostradas en la consola de administración para una función determinada deben utilizarse para el aprovisionamiento y la supervisión de la infraestructura. La acumulación de funciones debe ser estable y, si aumenta, es necesario desplegar más nodos de Eventing o asignar más trabajadores/nodo de Eventing para la función en cuestión.

eventing statistics

6. Si hay muchos tiempos de espera para una Función dada, entienda la causa raíz y considere aumentar el valor del tiempo de espera (En Ajustes para una Función dada). Si aumentar el tiempo de espera no es una opción, intente asignar más recursos (núcleos) a los nodos de Eventing o añada más nodos de Eventing para aumentar el rendimiento del procesamiento.

7. Cuando cree funciones para el archivo de datos que utilicen temporizadores, estudie la acumulación y asigne suficiente tiempo delta antes de la expiración real. Esto es para asegurarse de que el documento existe en el bucket si se accede a él dentro del temporizador. De lo contrario, pasar el documento como un contexto en el temporizador (esto es similar a 'Pass By Value').

8. Comprender los límites de alimentación admitidos por el servicio de eventos. Prefiera utilizar "Desde ahora" para ahorrar tiempo y capacidad de procesamiento cuando no sea necesario procesar las mutaciones más antiguas de un bucket.

9. Los nodos que ejecutan el Servicio de Eventos Couchbase no deberían tener otros servicios Couchbase ejecutándose en los mismos nodos. El Servicio de Eventos Couchbase es un servicio orientado a la computación y, por lo tanto, los nodos que lo ejecutan deberían tener más núcleo que RAM.

10. Couchbase Server deduplica múltiples actualizaciones de un documento. Comprender cómo funciona la deduplicación y el orden de las mutaciones en aquí.

Para ver una demostración de cómo Couchbase Eventing Service procesa mil millones de documentos en menos de 30 minutos, eche un vistazo a Presentación/charla Connect Silicon Valley'18. Además, desde Conectar Nueva York'18 (a principios de este año).

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Venkat Subramanian, Director de Producto

Venkat se dedica al desarrollo y la gestión de productos y ha desarrollado plataformas y productos de datos y análisis. Una parte importante de su experiencia ha sido con Oracle, donde pasó de ser ingeniero en el equipo Enterprise Manager de Oracle a director de producto para el conjunto de productos de BI/Analítica de Oracle. Ha trabajado en startups en el pasado ayudando a desarrollar productos de aprendizaje automático/NLP y sistemas de toma de decisiones distribuidos. Está al acecho en @venkasub.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.