El término “microservicios” generalmente tiene la intención de describir un enfoque para el desarrollo de software que implica descomponer la funcionalidad de la aplicación en componentes individuales que se pueden implementar por separado, y típicamente se comunican a través de interfaces de programación de aplicaciones o API.
Características comunes de los microservicios:
- Soporta protocolos HTTP / REST
- Implemente el formato JSON o XML para el intercambio de datos.
- Implementado a través de un marco de contenedorización, como Docker
- Escalado dinámico en infraestructura de nube pública o privada
- A menudo utiliza noSQL o microSQL o almacenes de valores clave para conservar los datos.
Los beneficios de una arquitectura de microservicios pueden incluir:
- ¿Qué es el spooling en la computadora?
- ¿Cuál debo elegir: BITS Pilani ingeniería química o PEC CS?
- ¿Cómo puede un estudiante de informática prepararse para la industria?
- Si cambia el tamaño de una imagen ráster de 1000 × 1000 a 10 × 10 y luego la redimensiona a 1000 × 1000, ¿se considera que esto es un alias en informática?
- ¿La capacitación para la detección de spam es universal en todos los usuarios para los principales clientes de correo electrónico?
- Resistencia mejorada y tolerancia a fallas debido al aislamiento de la función de servicio
- Escalabilidad mejorada con la capacidad de escalar servicios individualmente según sea necesario
- Reutilización extrema con definiciones de interfaz estandarizadas
- Soporte políglota más fácil ya que se pueden construir servicios separados en diferentes lenguajes de programación
- Migración más fácil ya que los servicios pueden ser rediseñados o reconstruidos con diferentes tecnologías al tiempo que admiten la misma definición de API para minimizar la interrupción
Algunos ejemplos bien conocidos de grandes empresas que han empleado con éxito arquitecturas de microservicios son: Amazon, eBay, Gilt, Netflix, PayPal y Twitter.
Lo contrario de un enfoque de microservicios sería una aplicación “monolítica” donde toda la funcionalidad es parte de un solo programa que se ejecuta en un solo entorno.