Red de conocimiento informático - Problemas con los teléfonos móviles - Diseño de arquitectura general de SpringCloud (1)

Diseño de arquitectura general de SpringCloud (1)

La arquitectura central general de SpringClound tiene solo un punto: el servicio Rest, lo que significa que en todo el proceso de configuración de SpringCloud, todo el procesamiento de configuración se completa en torno al Rest. En este procesamiento Rest, debe haber dos extremos: Proveedor de Servicios (Proveedor), Servicio. Consumidor (Consumidor).

1. Todas las direcciones de microservicios serán muy grandes, por lo que para administrar de manera uniforme esta información de direcciones e informar rápidamente a los usuarios qué servicios no están disponibles, se debe preparar un registro distribuido, y este registro El mecanismo de HA debe ser compatible Para registrar todos los servicios de forma rápida y cómoda, SpringCloud proporciona un registro interno de Eureka.

Para toda la arquitectura del lado WEB (implementación de SpringBoot), puede escribir programas WEB de manera fácil y conveniente y luego usar Nginx o Apache para implementar el equilibrio de carga. Sin embargo, si su lado WEB ha logrado el equilibrio de carga. ¿Qué pasa con el lado empresarial? También se deben proporcionar múltiples fines comerciales para el equilibrio de carga. Luego, en este momento, todos los fines comerciales que participan en el equilibrio de carga deben estar registrados en Eureka.

Cuando el cliente usa la arquitectura Rest para realizar llamadas, a menudo requiere una dirección de llamada. Incluso si se usa Eureka como registro, también necesita una dirección de llamada clara, pero si todas las operaciones usan la dirección de llamada. Para solucionarlo, la herramienta más conveniente para los desarrolladores de programas es la interfaz, por lo que ahora esperamos utilizar todo el contenido del servicio Rest para que aparezca en forma de interfaz para llamar, por lo que proporciona una tecnología Feign, utilizando esta tecnología para forjar la implementación de la interfaz. .

En el diseño general de la microarquitectura, debido a que los problemas involucrados aún pertenecen a RPC, se debe tener en cuenta el mecanismo de procesamiento del fusible. De hecho, todos los fusibles son como los fusibles utilizados en la vida. Con fusibles en algunos Cuando el equipo falla, aún se pueden proteger los aparatos eléctricos en el hogar. Si hay varios microservicios, estos microservicios pueden llamarse entre sí, por ejemplo, Un microservicio puede llamarse entre sí. como los microservicios A pueden llamarse entre sí, como los microservicios A pueden llamarse entre sí.

Si hay varios microservicios y estos microservicios pueden llamarse entre sí, por ejemplo, el microservicio A llama al microservicio B y el microservicio B llama al microservicio C.

Si el mecanismo del disyuntor no se maneja durante el proceso de diseño del proyecto real, se producirá un efecto de avalancha. Por lo tanto, para evitar este problema, SpringCloud proporciona el mecanismo del disyuntor Hystrix para garantizar que incluso si se produce un problema. Si ocurre un problema, el microservicio aún se puede usar normalmente.

A través del proxy de Zuul, los usuarios solo necesitan conocer la ruta de la ruta especificada para acceder a la información del microservicio especificada. Esto refleja mejor la idea de diseño "clave = valor" de Java, y todos los microservicios pasan Nombre oculto por zuul. El proxy también es más razonable.

Se ha enfatizado un problema en el estudio de SpringBoot: en SpringBoot se enfatiza el concepto de "configuración cero", cuya esencia es que no es necesario configurar ningún archivo de configuración, pero de hecho esto no se implementa completamente porque en la realidad general, el archivo de configuración application.yml aún se proporcionará. Si crea un microservicio, definitivamente habrá información sobre cientos de microservicios, por lo que la administración de estos archivos de configuración se convierte en un problema. Por ejemplo: ahora su anfitrión de repente necesita cambiar la sala de computadoras un día, y las direcciones IP de todos los servicios pueden cambiar, lo que será muy inconveniente para el mantenimiento del programa. Para resolver este problema, se proporciona un SpringCloudConfig en el diseño de SpringCloud. Componente del programa, puede utilizar este componente para administrar archivos de configuración directamente basados ​​en GIT o SVN.

En el diseño general de SpringCloud, el diseño de la arquitectura RPC está bien implementado y se utiliza Rest como base para la comunicación. Este es su éxito. Debido al uso extensivo de los productos y tecnologías de Netflix, estos La tecnología. También se garantiza que será confiable.