¿Qué es Spring for Apache Kafka?

El proyecto Spring for Apache Kafka (spring-kafka) permite seguir el modelo Spring para el desarrollo de soluciones de mensajería basadas en Kafka, proveindo un template como abstracción para enviar mensajes y soporte Message-driven POJOs con @KafkaListener.

Para usarlo en una aplicación Spring basta con importar:

Sender:

Listener:

En este link podéis leer como usarlo en una aplicación Spring Boot.

¿Qué es OpenTracing?

OpenTracing es un estándar abierto y neutro para traceo distribuido.

En la actualidad con el paso de los sistemas monolíticos a las arquitecturas de microservicios un sistema en producción está compuesto de un buen número de servicios, lo que hace que tareas que antes eran sencillas como análisis de errores en backend se complican.

Por suerte existen un buen número de sistemas de traceo distribuido (Zipkin, Dapper, HTrace,…) que resuelven esto, aunque cada una usa su propia API. OpenTracing ofrece un API consistente y expresiva para que los desarrolladores puedan añadir trazas (o cambiar la implementación) a través de configuración.

OpenTracing ofrece librerías en 8 lenguajes: Go, JavaScript, Java, Python, Ruby, Objective-C, C++, C#

Existen bastantes librerías que soportan el estándar OpenTracing, como

· Zipkin que soporta OpenTracing en varios lenguajes

· Jaeger ˈyā-gər (el Sistema de trazas distribuido de Uber)

· LightStep en varios lenguajes

· Hawkular APM en Java

· Instana lo soporta en Java, Node y Go.

· sky-walking para aplicaciones Java

· inspectIT para aplicaciones Java

· Stagemonitor para aplicaciones Java

¿Qué es OpenStack Sahara?

OpenStack Sahara es un proyecto integrado en OpenStack cuyo objetivo es hacer elástico Hadoop bajo demanda.

Hadoop es prácticamente el estándar cuando hablamos de Big Data, las organizaciones típicamente comienzan montando un cluster . Incluso con las distribuciones comerciales este proceso es complejo.

Sahara está preparado para configurar, autodesplegar y escalar clusters Hadoop sobre OpenStack. Sahara ofrece por tanto capacidades Elastic Data Processing (EDP) sobre Hadoop al estilo de Amazon Elastic MapReduce.

Sahara permite:

· Crear clusters desde UI o bien integrar Sahara con tu aplicación vía el API

· Elegir entre diversas distribuciones, incluidas Hortonworks Data Platform (HDP) y Cloudera Hadoop Distribution (CHD).

· Soporte jobs Apache Spark.

· Configurar HDFS de forma sencilla

Sahara está integrado con los servicios core OpenStack como Keystone, Glance, Horizon y Nova, además soporta las APIS nativa OpenStack lo que permite a los usuarios provisionar entornos Hadoop desde el Horizon GUI.

Leer más

¿Qué es OpenStack4j?

OpenStack4j es una librería Java open-source que permite controlar y provisionar un Sistema OpenStack desde Java.

Ofrece abstracciones de estos servicios:

Seguir leyendo “¿Qué es OpenStack4j?”

¿Qué es mattermost?

Mattermost se define como la alternativa a open-source y desplegable en cloud privada a Slack.

Mattermost tiene licencia MIT, está disponible en 11 lenguajes y es personalizable.

Se ofrece en versión Team Edition, que es gratuita y en 2 versiones Enterprise con coste mensual por usuario. Ver Versiones.

En este link podéis encontrar la comparativa de la versión Enterprise con Slack Plus.

¿Qué es Squiggly?

Squiggly es una librería que se instala como plugin en Jackson y permite dinámicamente filtrar las propiedades que se devuelven dudrante una serialización.

Un uso común sería en un API REST para que el API sólo te devolviese un conjunto de propiedades:

Seguir leyendo “¿Qué es Squiggly?”

¿Qué es Spring Retry?

Spring Retry es un proyecto Spring que da soporte a reinvocar operaciones erróneas en aplicaciones Spring.

Es un proyecto usado internamente por proyectos como Spring Batch, Spring Integration o Spring for Apache Hadoop.

Esta capacidad es muy útil cuando los errores pueden ser transitorios (por ejemplo un error en la red).

Spring Retry permite definir de forma declarativa (anotaciones) el control del proceso y definir políticas, además de extenderlo y personalizarlo.

Este ejemplo seguro que os da una idea de cómo funciona:

Cuando el método service lance una RemoteAccessException se reintentará la llamada (hasta 3 veces por defecto), si pasado este número de reintentos sigue la excepción entonces se invoca el método con la anotacion @Recover.

La anotación @Retryable soporta diferentes configuraciones.

En la web del proyecto podéis leerlo: https://github.com/spring-projects/spring-retry