¿Qué habilidades diferentes necesita un desarrollador de Java para ser un desarrollador de microservicios?

Habilidades fundamentales Ninguno, los microservicios son solo … servicios pequeños, en contenedores y autónomos.

¿Conocimientos técnicos?

  • Una comprensión de Docker es muy útil.
  • Comprender REST / HTTP / RAML / Swagger es útil, ya que los microservicios suelen hablar REST sobre HTTP.
    • ¡Más profundamente, una comprensión de cómo desarrollar APIs de manera debidamente versionada y documentada!
  • El modelado de datos adecuado es realmente importante (el diseño basado en el dominio tiene aplicaciones interesantes aquí), así como la comprensión de la importancia de las arquitecturas compartidas, sistemas sin estado, agregación de registros, monitoreo y otras preocupaciones operativas.
  • Programación asíncrona y dirigida por eventos.

Más allá de lo anterior, este es en realidad un campo de rápido movimiento. Entre las tecnologías adicionales que tenemos en cuenta se incluyen: Kubernetes para la orquestación de servicios, gRPC para la comunicación interna de alta velocidad, GraphQL para la orquestación de datos, linkerd para la capacidad de servicio y nombres, y así sucesivamente.