¿Qué es el autobús de mensajes del autobús Chunyun? Lo entenderás después de leer este artículo.
¿Qué es un intermediario de mensajes? El intermediario de mensajes es un patrón arquitectónico para la verificación, transmisión y enrutamiento de mensajes. Se utiliza principalmente para recibir y distribuir mensajes y reenviarlos a la aplicación correcta de acuerdo con el proceso de procesamiento de mensajes establecido. Desempeña el papel de programación de comunicaciones entre microservicios y reduce la dependencia entre servicios.
¿Qué es el autobús Chunyun?
Spring Cloud Bus es un bus de mensajes en el sistema Spring Cloud, que se utiliza para conectar todos los nodos del sistema distribuido.
Spring Cloud Bus utiliza intermediarios de mensajes ligeros (RibbitMQ, Kafka) para conectar nodos distribuidos. Puede transmitir cambios en el archivo de configuración o comunicación entre servicios a través del intermediario de mensajes, que también se puede utilizar para monitoreo. Resuelva el problema de los cambios de datos y la sincronización oportuna de microservicios.
¿Cuándo utilizar Chunyun Bus?
Los microservicios generalmente se implementan en clústeres en condiciones de alta concurrencia, y a menudo es necesario expandirlos, contratarlos, en línea y fuera de línea. Por ejemplo, necesitamos actualizar la configuración, o necesitamos invalidar un caché en todos los servidores al mismo tiempo, necesitamos enviar comandos a todos los servidores relevantes. En este momento podemos optar por utilizar Chunyun Bus.
En términos generales, cuando necesitamos distribuir una operación a todos los servidores back-end relacionados, podemos optar por utilizar Spring Cloud Bus.
A continuación, implementamos la actualización de la configuración de la arquitectura de microservicio a través de Spring Cloud Bus.
Preparación del entorno
Dirección RibbitMQ v3.8.2: 192.168.10.101.
Proyecto de agregación de demostración de bus SpringBoot 2.2.4.RELEASE, Spring Cloud Hoxton. SR1.
Servidor Eureka: Centro de Registro
Eureka-Server02: Centro de Registro
Servidor de Configuración: Configurar el servidor central.
Config-server02: Servidor Central de Configuración
Servicio de pedidos: Servicio de pedidos (Cliente del Centro de configuración)
Servicio de pedidos 02: Servicio de pedidos (Cliente del Centro de configuración))
Archivo de configuración order-service-prod.yml
Primavera:
? Aplicación:
Nombre: Servicio de pedido#Nombre de la aplicación
#Configurar el registro del servidor Eureka
Eureka:
? Ejemplo:
dirección-ip-preferida: ¿verdadero? #¿Necesitas registrarte con una dirección IP?
Id. de instancia: $ { spring . cloud . dirección IP }: $ { puerto del servidor } # IP: puerto
? Cliente:
URL de servicio:? #¿Establecer la dirección del centro de registro de servicios
? zona predeterminada:/IMR Hello World/config-repo #La dirección del almacén donde se encuentra el archivo de configuración.
? #Nombre de usuario:# Cuenta de inicio de sesión para Github y otros productos.
? # contraseña: contraseña de inicio de sesión para productos como # github.
? #default-label: ¿Rama principal del archivo #Configuración
? #search-paths: #El directorio raíz donde se encuentra el archivo de configuración.
? ¿#Cola de mensajes
? Rabbit q:
Host: 192.168.10.106
#Configurar el registro del servidor Eureka
Eureka:
? Ejemplo:
dirección-ip-preferida: ¿verdadero? #¿Necesitas registrarte con una dirección IP?
ID de instancia: $ { spring . cloud . dirección IP }: $ { puerto del servidor } # IP: puerto
? Cliente:
URL de servicio:? #¿Establecer la dirección del centro de registro de servicios
? zona predeterminada: http://localhost:8761/eureka/
#Monitoreo de indicadores y control de estado
Administración:
? Punto final:
Página web:
? Ruta base: /actuator #La ruta raíz para acceder al punto final, el valor predeterminado es /actuator.
? Exposición:
Incluye: ¿Refrescar el autobús? #Puntos finales a abrir
#exclude: #Puntos finales que no necesitan abrirse.