Microservicios



1. Qué tecnologías me gusta usar y para qué sirve cada una de ellas 


No esperes las definiciones oficiales 😋, esto es lenguaje meramente comunicativo, para dar una idea de mis conocimientos :) 

Java 11

Lo mínimo indispensable para usarlo es java 8, ya que ahí se metió el Stream API (predicados y lambdas) 

Maven

Es una herramienta de software para la gestión y construcción de proyectos Java, más técnicamente dicho: gestor de dependencias y ciclo de vida

Spring Framework 5

 Librerías oficiales de Spring para desarrollo Web, actualmente uno de los Frameworks de desarrollo más profesionales, seguros y usados en entornos de producción reales.

JUnit 5, AssertJ, Spring Boot Test

Testing del código, AssertJ te proporciona aserciones más complejas y variadas que las de JUnit. Springboot test te emula el despliegue de tu proyecto en un entorno (con la config correspondiente: dev, pre, pro...) 

Spring WebFlux & Project Reactor

WebFlux te permite hacer microservicios reactivos: aplicaciones que reaccionan a cambios y aceptan peticiones asíncronas. Lo bueno de esto es que tu puedes hacerle millones de peticiones por segundo y te responde muy rápido, por basarse en peticiones asíncronas y no necesita detener siguientes procesos o peticiones de llegada mientras que una se completa. 

Project Reactor esto está más enfocado a la cabecera de los métodos dentro de la programación reactiva (usando la anterior). Estas cabeceras trabajan de forma atómica con dos tipos de respuestas: Mono y Flux: respuestas Mono devuelven de 0 a 1 resultados, y respuestas Flux devuelve 0 a n resultados.

MySQL databases

Mi principal experiencia es con base de datos relacionales MySQL y ORACLE.

SpringBoot 2

SpringBoot usa Spring Framework 5.

La diferencia entre Spring Boot y Framework es que el Boot te trae starters que te aportan librerías que necesitas además de un servidor web Tomcat por defecto 

Lombok

Herramienta que sirve para evitar el "boilerplate code", es decir, redundancia de código, repeticiones de este. Genera constructores, getters y setters para las clases modelo. Además!! Proporciona SLF4J para el logger. 

Jackson o GSON 

Te permiten manipular objetos JSON. Jackson usa ObjectMapper para manipular tanto JSON como .xml por lo que es más versátil. Puedes filtrar el JSON también con Jackson para serializar una variable de tu clase, o para ignorar valores nulos... 

Springboot OpenAPI

Librería que se está actualizando y va MUY rápido para describir la API REST de nuestro micro, genera las rutas que se generan de nuestro micro al exterior para recibir consultas web y procesarlas.

Spring Boot Actuator

Módulo de Spring que te proporciona endpoints de monitorización de tu micro. Trata de una dependencia en tu pom.xml, Estos endpoints te pueden dar información de si el micro está levantado, qué tecnologías utiliza, parar el micro, Funcionalidades de monitorización, étc.

Spring CLOUD

Configuración, te permite tener varias configuraciones distintas para diferentes entornos, por ejemplo: DEV, PRE, PRO, con sus archivos de configuración respectivos.

CI/CD

4 fases principales: diseño, desarrollo, pruebas, testing.

Por ejemplo: GITLAB, NEXUS, JENKINS, DOCKER y OPENSHIFT. Empieza por Jenkins, herramienta de automatización de procesos, crea pipelines que se ejecutan cada cierto tiempo y se encarga de coger el código de la rama de un repo de GitHub o GitLab, pasa un proceso de calidad de código y compila, sube a Nexus, y después te lo despliega en la máquina remota con Docker y OpenShift, el cual define cuantas instancias de máquina, control de tráfico, etc.) 

Kibana / RedHat

Es una solución para facilitar el troubleshooting cuando tenemos que consultar los logs de nuestro servicio. Kibana o RedHat son herramientas que nos permiten ver el historial de logs de nuestro servicio más fácilmente.


¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar