Recientemente comencé a tener que aprender la etapa de arquitectura distribuida de microservicios. Recientemente comencé a aprender la versión SpringCloud H (actualmente la última versión). Primero aprendí del registro de servicios Eureka. Esta publicación de blog es principalmente un registro de aprendizaje de mi propio, y hay algo mal. ¡Espero que todos te informen sobre el lugar! ! !
Uno: en primer lugar, la versión de springCloud y springBoot corresponde al problema:
Dos: hay más cosas que debes dominar al aprender springCloud: × es una tecnología que se ha eliminado lentamente.
Tres: registro de servicios de eureka, incluido un cliente (los consumidores y proveedores pertenecen al cliente de eureka), un servidor (que proporciona servicios de registro de servicios)
La última versión actual de la versión H puede decir directamente si es el servidor o el cliente, a diferencia de antes, no se puede distinguir.
<! - eureka-server 2020.02 最新 版 的 eureka 服务 【服务 端】 -> <dependency> <groupId> org.springframework.cloud </groupId> <artifactId> spring-cloud-starter-netflix-eureka-server < / artifactId> </dependency>
<! - eureka-server 2020.02 最新 版 的 eureka 服务 【客户 端】 -> <dependency> <groupId> org.springframework.cloud </groupId> <artifactId> spring-cloud-starter-netflix-eureka-client < / artifactId> </dependency>
Cuatro: La relación anterior entre el centro de registro, los consumidores de servicios y los proveedores de servicios.
Cinco: análisis del principio de Eureka:
Cuando comencé a aprender, no entendía el punto 4, ¿qué es el "alias de servicio"?
--- Respuesta: Es una instancia de un proveedor de servicios, es decir, el nombre de un microservicio; en un clúster no independiente, sin importar cuántos proveedores de servicios haya, esta instancia es la misma.
Entonces, la siguiente pregunta es, ¿cómo sabe a qué proveedor está llamando el consumidor (si hay varios proveedores)?
--- Respuesta: Si hay dos proveedores 8001 y 8002, se utilizará el sondeo para llamar a la interfaz, uno irá al proveedor 8001 y el otro al 8002.
La llamada remota específica se llama a través de la plantilla RestTemplate.
Seis: El código principal del consumidor del cliente eureka: Hay varios lugares importantes, todos en la imagen.
Siete: El yml del proveedor del cliente eureka. Hay dos proveedores en el ejemplo y solo se muestra uno:
Ocho: servidor eureka yml, hay dos servidores en el ejemplo, solo se muestra uno:
Nueve: Diagrama de arquitectura: 7001 y 7002 son dos servidores (para formar un clúster), 80 es el consumidor del cliente eureka y 8001 y 8002 son el proveedor del cliente (para formar un clúster)