ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Zuul 网关转发的五种方式

2021-01-21 23:29:03  阅读:188  来源: 互联网

标签:网关 8888 Zuul app 转发 http order2 order 201810300001


在这里插入图片描述

上图为一个微服务框架的简单示例,当有一个HTTP请求发送到服务器的时候,其实是先经过了Nginx的,再经过了网关,这里的网关就担任了拦截过滤的作用,既然拦截和过滤了,肯定就涉及到了请求的转发

转发我大致例了以下五种转发方式:

方式一:path+serviceId 方式

在spring_clude的配置文件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

跳转示例 :http://localhost:8888/order/order2/201810300001

http://localhost:8888/order就相当于指定了eureka中id为app-order的微服务,后面在接上他本身的参数,就可以正常使用了

方式二:指定服务id 方式
zuul:
	routes: #定义服务转发规则
	        app-order: /order/**

跳转示例 :http://localhost:8888/order/order2/201810300001

和方法一一样,http://localhost:8888/order就相当于指定了eureka中id为app-order的微服务,后面在接上他本身的参数,就可以正常使用了

方式三:同时配置path和url 方式
zuul:
	routes: #定义服务转发规则
	   path: /order/**
	   url: http://127.0.0.1:8091 #真正的微服务地址,path匹配的请求都转发到这里

跳转示例 :http://localhost:8888/order/order2/201810300001

上面的和方法一样,http://localhost:8888/order就相当于指定了eureka中id为app-order的微服务,后面在接上他本身的参数,就可以正常使用了

方式四:路由前缀 方式
zuul:
	prefix: /order2
	    strip-prefix: false
	    routes:
	       app-order: /order/**

跳转示例 :http://localhost:8888/order2/app-order/201810300001

访问Zuul的/order2/app-order/201810300001路径,请求将会被转发到app-order 的order2/201810300001

方式五:路由前缀2 方式
zuul:
	routes:
	    app-order:
	       path: /order2/**
	       strip-prefix: false

跳转示例 :http://localhost:8888/order2/201810300001

访问Zuul的/order2/201810300001路径,请求将会被转发到app-order 的order2/201810300001

今天的分享就到此结束啦,欢迎各位同学给小编提提意见或者建议

标签:网关,8888,Zuul,app,转发,http,order2,order,201810300001
来源: https://blog.csdn.net/m0_50217781/article/details/112974248

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有