La imagen de arriba es un ejemplo simple de un marco de microservicio. Cuando se envía una solicitud HTTP al servidor, en realidad pasa primero a través de Nginx y luego a través de la puerta de enlace. La puerta de enlace aquí actúa como una función de interceptación y filtrado. Dado que intercepta y filtros, debe implicar el reenvío de la solicitud
Reenvío Ilustraré aproximadamente los siguientes cinco métodos de reenvío:
Método 1: método path + serviceId
Agregue la siguiente configuración al archivo de configuración spring_cloud archivo application.yml:
server:
port: 8888 #服务端口
spring:
application:
name: app-zuul-gateway #指定服务名
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:8100/eureka/ #注册到eureka中的地址
register-with-eureka: true
fetch-registry: true
instance:
prefer-ip-address: true #将自己的ip地址注册到Eureka服务中
ip-address: 127.0.0.1 #ip地址
zuul:
# 方式一:path+serviceId
routes: #定义服务转发规则
abcs: #abcs这个名字任意取的
path: /order/** #配置请求URL的请求规则
serviceid: app-order #eureka中服务的id
Ejemplo de salto : http: // localhost: 8888 / order / order2 / 201810300001
http: // localhost: 8888 / order es equivalente a especificar el microservicio cuyo id es app-order en eureka. Después de conectarse con sus propios parámetros, se puede usar normalmente
Método 2: especifique el método de identificación del servicio
zuul:
routes: #定义服务转发规则
app-order: /order/**
Ejemplo de salto : http: // localhost: 8888 / order / order2 / 201810300001
Igual que el método uno, http: // localhost: 8888 / order es equivalente a especificar el microservicio cuyo id es app-order en eureka. Después de conectarse con sus propios parámetros, se puede usar normalmente.
Método 3: configurar la ruta y la URL al mismo tiempo
zuul:
routes: #定义服务转发规则
abcs:
path: /order/**
url: http://127.0.0.1:8091 #真正的微服务地址,path匹配的请求都转发到这里
Ejemplo de salto : http: // localhost: 8888 / order / order2 / 201810300001
Lo anterior es el mismo que el método, http: // localhost: 8888 / order es equivalente a especificar el microservicio cuyo id es app-order en eureka. Después de conectarse con sus propios parámetros, se puede usar normalmente.
Método 4: método de prefijo de enrutamiento
zuul:
prefix: /order2
strip-prefix: false
routes:
app-order: /order/**
Ejemplo de salto : http: // localhost: 8888 / order2 / app-order / 201810300001
Visite la ruta de Zuul's / order2 / app-order / 201810300001, la solicitud se reenviará a la app-order's order2 / 201810300001
Método 5: método del prefijo de ruta 2
zuul:
routes:
app-order:
path: /order2/**
strip-prefix: false
Ejemplo de salto : http: // localhost: 8888 / order2 / 201810300001
Visite la ruta Zuul's / order2 / 201810300001, la solicitud se reenviará a order2 / 201810300001 de app-order
Este es el final del intercambio de hoy. Damos la bienvenida a todos los comentarios o sugerencias de los estudiantes al editor.