SIG en cinco minutos_Arquitectura de microservicios
El microservicio es una idea arquitectónica. El sistema empresarial único original se dividió en múltiples "sistemas pequeños" que pueden desarrollarse, diseñarse, operarse y mantenerse de forma independiente. Estos "pequeños sistemas" interactúan e integran a través de servicios. Cada "pequeño sistema" no sólo debe manejar sus propias funciones comerciales, sino también publicar sus propias funciones al mundo exterior como servicios.
SOA
SOA (Arquitectura Orientada a Servicios) es un modelo de componentes que divide sistemas estrechamente acoplados de diferentes unidades funcionales de una aplicación (llamadas servicios) en sistemas de grano grueso orientados al negocio. Servicios sin estado, débilmente acoplados. Una vez publicado el servicio, otros servicios pueden llamarlo. Un grupo de servicios interdependientes constituye un sistema bajo la arquitectura SOA.
Los microservicios son una versión mejorada de SOA. Tienen mayor granularidad y pueden manejar más problemas.
Por ejemplo, en la Figura 1, toda la funcionalidad está empaquetada en un paquete WAR, esencialmente sin dependencias externas (excepto el contenedor), y desplegada en un contenedor JEE (Tomcat, JBoss, WebLogic). toda la lógica para DO/DAO, servicios e interfaz de usuario. La escalabilidad no es suficiente, pero si dividimos la organización por negocios en lugar de por tecnología, como se muestra en la Figura 2, y los servicios internos se comunican a través de REST, entonces las funciones de implementación, administración y entrega de servicios de la plataforma pueden volverse más simples.
Si hablamos de la diferencia entre SOA y microservicios en una oración, es decir, los microservicios ya no enfatizan el bus de servicios empresariales ESB más pesado dentro de la arquitectura SOA tradicional. SOA ingresa en un único sistema empresarial para lograr una verdadera componentenización.
Microservicios y
En términos generales, los microservicios son inseparables de Docker y DevOps. Comprender la arquitectura de microservicios es el núcleo, y Docker es una herramienta y un medio.
La aparición de la tecnología de contenedores Docker proporciona más comodidades para los microservicios, como unidades de implementación más pequeñas. A través de tecnologías como Node.js o Spring Boot, cada servicio puede ejecutarse en su propio proceso. Puede haber miles de contenedores Docker ejecutándose en docenas de computadoras, cada una ejecutando una instancia de servicio. En cualquier momento, se puede aumentar la cantidad de instancias de servicio o, después de que una instancia falla, se crea una nueva instancia de servicio en otra computadora.
DevOps es la integración de operaciones de desarrollo, pruebas e implementación.
DevOps es un enfoque para el desarrollo, diseño e implementación integrados.
Ventajas de los microservicios
1. Resuelva problemas complejos descomponiendo una enorme aplicación monolítica en múltiples servicios. Descomponga la aplicación en múltiples ramas o servicios manejables manteniendo la misma funcionalidad. El patrón de arquitectura de microservicios proporciona soluciones modulares para funcionalidades que serían difíciles de implementar utilizando un enfoque de codificación monolítica, por lo que los servicios individuales son fáciles de desarrollar, comprender y mantener.
2. Esta arquitectura permite que cada servicio sea desarrollado por un equipo de desarrollo dedicado. Los desarrolladores tienen la libertad de elegir tecnologías de desarrollo y proporcionar servicios API, lo que permite un desarrollo ágil.
3. El modelo de arquitectura de microservicios es que cada microservicio se implementa de forma independiente. Los desarrolladores ya no necesitan coordinar el impacto de otras implementaciones de servicios en este servicio. Este cambio puede acelerar la implementación.
4. El patrón de arquitectura de microservicios permite que cada servicio se expanda de forma independiente. Puede implementar cada servicio según sus necesidades. Incluso puede utilizar hardware que se adapte mejor a las necesidades de recursos de su servicio.
Troika
Finalmente, hablemos de la troika (iServer, iExpress, iPortal e iCloudManager) de la serie SuperMap, que también se basa en el concepto de diseño de microservicios. Por ejemplo, iCloudManager puede administrar miles de contenedores Docker, aislar completamente cada Docker a nivel de proceso y tiene una baja tasa de consumo de recursos, lo que puede cumplir con el desarrollo y las pruebas de la arquitectura de microservicios, así como con la implementación, operación y mantenimiento automatizados.