Microservicios en Spring Boot

Los microservicios son un patrón arquitectónico que divide una aplicación en una colección de servicios pequeños, débilmente acoplados y que operan juntos para lograr un objetivo común. Como funcionan de forma independiente, se pueden agregar, eliminar o actualizar sin interferir con otras aplicaciones.

Sus características principales:
  • Diversidad tecnológica: cada microservicio puede estar diseñado en un lenguaje diferente o usar diferentes tipos de bases de datos.
  • Aislamiento de fallos: si un proceso falla no compromete el resto de servicios, que quizá puedan seguir funcionando si no todos, la gran mayoría.
  • Agile framework: Perfecto para equipos de desarrollo independientes y trabajos en paralelo, también para su deployment.
  • Escalabilidad: se pueden incrementar o reducir componentes precisos dependiendo de la demanda.

Spring Cloud & Eureka

Eureka, creado por Netflix es responsable de llevar el registro y descubrimiento de microservicios. Spring ha incorporado Eureka dentro de su Spring Cloud (paquete de herramientas para la construcción de sistemas distribuidos) y su uso es increiblemente sencillo.

Eureka se compone de un servidor y un compoonente cliente. El servidor es donde los microservicios se registran, y los clientes usan el componente cliente para tal tarea.

Spring Data REST

Spring Data REST hace más fácil exponer microservicios. Spring Data REST se situa encima de los Spring Data repositories y los exporta a recursos REST automáticamente.

Sus funcionalidades son:
  • En el arranque de la aplicación, Spring Data Rest busca todos los Spring Data repositories.
  • Luego, crea un endpoint que coincida con el nombre de la entidad.
  • Luego, le añade una S al nombre de la entidad en el endpoint.
  • Y por último, Spring Data Rest ofrece operaciones CRUD (Create, Read, Update, and Delete) como RESTful APIs sobre HTTP.
No es necesario crear controladores o servicios.

Comentarios

Entradas populares de este blog

Django REST framework

Envío de checkboxes o selector multiple por AJAX con jQuery

Django: relaciones polimórficas