Introducción
Los registros de servicios son bases de datos que posibilitan la comunicación entre las aplicaciones gracias a que almacenan sus estructuras de datos. Funcionan como ubicaciones centrales donde los desarrolladores pueden registrar y buscar los esquemas utilizados para ciertas aplicaciones.
El uso de un registro de servicios con Apache Kafka
A continuación se analiza el funcionamiento de un registro de servicios con Apache Kafka. El registro de servicios es ideal para este caso práctico en particular porque Kafka no brinda el esquema a los usuarios de forma automática ni verifica los datos. Tampoco utiliza recursos vitales, ya que no analiza ni lee los datos, por lo que puede distribuirlos directamente a los usuarios con rapidez. Si se tomara el tiempo de realizar una verificación, disminuiría su rendimiento en gran medida. Por eso, la falta de control no representa un problema con Kafka, sino que posibilita una de sus principales ventajas: el alto rendimiento.
Sin embargo, es importante implementar algún tipo de control en la estructura de los datos para garantizar que las aplicaciones que los utilizan puedan procesarlos correctamente. La solución es un registro de servicios que determina las normas y exige su cumplimiento.
Los usuarios y los productores intercambian datos por medio de Kafka, y el registro de servicios les permite documentar, compartir y acordar los metadatos que definen el tráfico desde el primer momento, para evitar que se produzcan errores relacionados con ellos más adelante. Los metadatos se proporcionan como esquemas almacenados en el registro de servicios.
El desarrollador de la aplicación que produce los datos registra el esquema, lo cual garantiza que se adhiere a sus especificaciones; el registro de servicios incluso rechazará los datos que no correspondan al esquema indicado.
Las empresas también pueden incorporar esquemas para el uso general por parte del equipo de desarrollo. En este caso, el registro de servicios funciona como una biblioteca para los desarrolladores de aplicaciones que producen y utilizan los datos.
A su vez, ellos pueden recuperar los esquemas para diseñar las aplicaciones que procesarán los datos. Cuando se realicen modificaciones en el esquema, el registro de servicios pondrá las actualizaciones a disposición de los usuarios.
Ventajas del registro de servicios
Los registros de servicios ofrecen las siguientes ventajas para la empresa y el equipo de desarrollo:
Posibilidad de separar la estructura de datos de las aplicaciones
Puede utilizar un registro de servicios para separar la estructura de datos de las aplicaciones, así como para compartir y gestionar los esquemas y las descripciones de las API durante el tiempo de ejecución con una interfaz de REST.
Calidad superior de los datos
El registro de servicios valida el esquema y detecta errores en los datos para garantizar su integridad. Puede incluir normas para comprobar que el contenido cargado sea válido en cuanto a la sintaxis y la semántica, así como para garantizar que sea compatible con otras versiones anteriores y posteriores. También evitará que un productor envíe datos que no se correspondan con ese esquema.
Fuente única de información documentada
El registro de servicios funciona como una fuente única de información, que cuenta con la validación y aprobación de todas las partes involucradas.
Aumento en la productividad de los desarrolladores
El registro de servicios posibilita la reutilización uniforme de los esquemas y los diseños de las API, lo cual permite que los desarrolladores ahorren tiempo al diseñar una aplicación que produzca o utilice datos.
Ahorro de costos
La posibilidad de detectar los errores en el ciclo de vida del desarrollo, en lugar de hacerlo durante la ejecución, permite un mayor ahorro de los costos que surgen de corregir los fallos en las etapas más avanzadas del proceso.