Nos complace enormemente anunciar el lanzamiento de Servicio de eventos Couchbase como parte del Plataforma de datos Couchbase 5.5. Esta nueva oferta acerca la computación a los datos y permite a los clientes procesar los cambios (creación/actualización/eliminación/expiración) de los datos almacenados en Couchbase Cluster a medida que se producen casi en tiempo real. Proporciona una interfaz para consumir los cambios que se exponen con el Database Change Protocol (DCP). DCP une muchos servicios diferentes en la Plataforma de Datos Couchbase. Index, Full Text Search y XDCR consumen DCP para sus operaciones eficientes.
Funciones Couchbase
Funciones Couchbase es la primera oferta de Couchbase Eventing Service que le permite escribir funciones del servidor que se activan automáticamente mediante el conocido Modelo suceso-condición-acción. Es extremadamente fácil de usar, a través de un editor de código javascript online que te permite desarrollar y depurar el código sobre las mutaciones generadas a los datos residentes en el cluster de Couchbase. Couchbase Eventing Service maneja toda la complejidad de escalar a un gran número de mutaciones de documentos. Al facilitar al máximo el despliegue de reglas de negocio, Couchbase Functions ofrece a los desarrolladores una plataforma mediante la cual pueden concentrarse en la lógica empresarial, que en la configuración o la infraestructura. Este paradigma permite desarrollar experiencias de usuario profundamente atractivas y personalizadas basadas en eventos en tiempo real.
Couchbase Functions elimina los problemas de múltiples escrituras desde la capa de aplicación para gestionar los cambios y también es mucho más eficiente, ya que ofrece una alternativa al sondeo desde la capa intermedia. Couchbase Functions ofrece resolver algunos de los siguientes requisitos que no era posible antes, proporcionando a los desarrolladores una interfaz limpia y sencilla.
- Notificaciones antes de la expiración
- Supervisión y alerta basadas en umbrales
- Propagar los cambios a otros sistemas
- Enriquezca los contenidos casi en tiempo real
- Activar una rutina en un documento a intervalos especificados
- Supresiones en cascada
Además, ofrece estas capacidades rindiendo a escala, una característica importante y un requisito para la mayoría de las operaciones informáticas distribuidas.
Couchbase Functions se dirige esencialmente a cargas de trabajo asíncronas, sin estado, de baja latencia (time-bracketed) que a menudo ven tráfico inconsistente. Al hacer hincapié en la lógica de negocio más que en la configuración o la infraestructura, los desarrolladores tienen una herramienta muy poderosa en su arsenal que conduce a una alta velocidad de desarrollo. Al reducir las barreras para experimentar con datos, el servicio Functions ofrece a los desarrolladores una experiencia rápida y agradable, lo que a su vez permite a las empresas ser mucho más ágiles.
Por ejemplo, se puede enviar un correo electrónico promocional cuando un carrito de la compra esté a punto de caducar, activar una alerta cuando un valor supervisado supere cierto umbral o propagar los cambios en Couchbase a otros sistemas adyacentes.

Pantalla de resumen de funciones
Couchbase Functions es una oferta propia, que aprovecha el motor V8 para ejecutar el código Javascript. Las mutaciones de los datos pueden ser consumidas por dos manejadores de eventos - OnUpdate y OnDelete - que se activan respectivamente para crear+actualizar y borrar operaciones en los datos. También hemos añadido y eliminado muchas construcciones del lenguaje Javascript para que funcione a escala.

Editor Javascript basado en navegador
Como Couchbase Functions es esencialmente una plataforma para escribir fragmentos de código del lado del servidor que se activan en respuesta a eventos, acerca la infraestructura de computación sin servidor (los aspectos de FaaS) al almacén de datos y, por lo tanto, también ayuda en la consolidación de capas.
¡Funciones de diagnóstico de primera clase!
Un problema a menudo citado con los sistemas basados en eventos es la completa falta de opciones de diagnóstico. Couchbase Functions se integra con el depurador de Chrome para depurar actualizaciones de datos en tiempo real. Bloqueamos una sola mutación a la vez y la pasamos a la sesión del depurador, de tal forma que el procesamiento del resto de mutaciones no se bloquea. Esta capacidad es probablemente la primera de su clase en el mundo de las bases de datos o en el software de streaming.
Los desarrolladores también pueden especificar declaraciones de registro que se capturan en archivos de registro específicos de la aplicación en el sistema de archivos. Las características de diagnóstico que se ofrecen, tanto en un archivo como utilizando el depurador, realmente diferencian esta oferta y también ofrecen a los desarrolladores y administradores una poderosa herramienta que faltaba antes.

Depurador en línea de Javascript en tiempo real
Y sí, es un servicio habilitado para Multidimensional Scaling (MDS). Por lo tanto, Couchbase Eventing Service puede ejecutarse en su propio conjunto de nodos proporcionando el aislamiento de carga de trabajo tan necesario y también escalabilidad independiente para cargas de trabajo de computación.

El servicio Eventing es un servicio MDS
Esperamos de verdad que esta oferta le resulte atractiva y la aplique para resolver casos de uso que revolucionen realmente sus flujos de trabajo y mejoren el compromiso y la satisfacción de los clientes. Estaremos encantados de recibir más noticias suyas.
"Una herramienta [de software] de éxito es aquella que ha servido para hacer algo que su autor no había soñado...". - Stephen Johnson
- Obtenga más información sobre este nuevo servicio de eventos de Couchbase y sobre lo que Couchbase Functions puede ofrecerle consultando nuestro Documentación sobre eventos de Couchbase aquí.
- Deje sus comentarios sobre este nuevo servicio más abajo o en nuestro Foro dedicado para Couchbase Eventing Service.
- Descargar el Couchbase Server 5.5 aquí.
- Leer blog "Detecta Información Sensible en tus Documentos NoSQL Automáticamente con Funciones Couchbase“.
Hey Venkart,
tiene una pregunta sobre su nuevo sistema Evening.
He intentado utilizar la función CURL dentro de la función de evento, pero siempre obtengo el error "CURL no está definido" (en el depurador de google chrome).
Tengo
curl_whitelist.json
configurado correctamente, ya que cuando hago la consulta (Workbench -> Query) "SELECT CURL("http://127.0.0.1:5000/");" (mi servidor local de pruebas) me devuelve la respuesta.¿Necesito cambiar alguna configuración adicional para poder utilizar la función CURL en las funciones de eventos?
¡La tengo! :)
¿Puede compartir un ejemplo de una función de "Notificación antes de la expiración"?
La primera imagen tiene un add_timer. No se puede encontrar la documentación approriate para la creación de una función de este tipo.
Hola Avinash,
Consulte nuestra documentación : https://docs.couchbase.com/server/6.0/eventing/eventing-examples-docexpiry.html
Gracias por la rápida respuesta. ¿Es esto compatible incluso en 5.5?
Los temporizadores se introdujeron en la versión 6.0
Venkat
Pregunta 1 - Estoy usando couchbase elastic connector 4.2 , y tratando de configurar el archivo TOML . Mi documento fuente tiene docType como "EBA::CP". Cómo modelarlo en el archivo TOML del conector, he intentado usar el siguiente fragmento de código
[[elasticsearch.type]]
regex = '(?.+?)::.*'
Sin embargo, su mapeo el índice a "EBA" sólo. Quiero índice para asignar a "EBA::CP"
Cualquier ayuda es muy apreciada ?
Pregunta 2 - Utilizando couchbase eventing, ¿puedo elegir sólo un subconjunto de campos en el documento de origen y enviarlos a elastic search a través de couchbase elastic connector?