Closed rodrigoSaladoAnaya closed 3 years ago
Ya subí el código de la charla en https://github.com/rodrigoSaladoAnaya/jvmmx_issue_76
Si les intereso la charla puede que les interese este par de artículos que están muy bien explicados: https://medium.com/@alexey.soshin/understanding-vert-x-event-loop-46373115fb3e https://medium.com/@alexey.soshin/understanding-vert-x-event-bus-c31759757ce8
También les comparto unos videos que pueden servir como complemento a la charla: A Playful Introduction to Rx by Erik Meijer: https://www.youtube.com/watch?v=WKore-AkisY Scott Wlaschin - Railway Oriented Programming — error handling in functional languages: https://vimeo.com/97344498 Hewitt, Meijer and Szyperski, The Actor Model: https://www.youtube.com/watch?v=7erJ1DV_Tlo
Saludos a todos.
Link a la charla, impartida el 18 de septiembre de 2020: https://youtu.be/1C4ErnC2G_I
Descripción de la propuesta
Creación del sistema: En la reunión, mostraré cómo construir un sistema monolítico en apariencia, pero con propiedades flexibles, esto quiere decir que vamos a tener corriendo un solo proceso de la JVM soportando todo el sistema como usualmente sucede en un monolito, con la ventaja de poder evolucionar el sistema sin tener que matar dicho proceso; que en la JVM es lo más común.
Base de código: Adicional a eso, veremos cómo construir una base de código legibles en plataformas asíncronas, como es el caso de Vert.x, expondré una alternativa para evitar el callback-hell(pirámide de Doom).
Pruebas: También veremos cómo probar sistemas asíncronos y modulares.
Limitaciones: En este sentido Vert.x no es perfecto, les platicare un par de opiniones sobre qué pienso de: sus limitaciones, áreas de oportunidad y excesos.
Intención
La intención de la charla es abrir el dialogo a formas no tan populares en la comunidad de la JVM para creación de sistemas monolíticos.
En los casos más populares de construcción de sistemas en la JVM, Spring es el corazón de una aplicación y esto tiene sentido, ya que facilita la descripción de qué implementación usar al levantar un sistema, en la charla abordaremos otra opción para instalar implementaciones.
El ciclo de vida que más he visto en la actualidad para un sistema monolítico, y seguro ustedes también, es: diseñar, levantar, matar, actualizar, matar, matar actualizar, levantar... y el mantra sigue. Otros escenarios más sofisticados en apariencia usan balanceo de monolitos con Docker, nginx, etc, en la charla abordaremos una opción para manejar balanceo de implementaciones de componentes sin salir de su JVM.
Hacer preguntas a la comunidad y escuchar sus opiniones sobre: