gateway 网关_小米多功能网关联不上

gateway 网关_小米多功能网关联不上zuul1.x系列作为网关,基于servlet实现,属于多线程同步阻塞模型;zuul2.x改写netty,属于异步非阻塞模型;gateway属于异步非阻塞模型。这里基于spring-session+redis+zuulsession共享示例,将其中的zuul网关替换为gateway网关技术。工程改造pom依赖引入gateway依赖包<dependency><groupId>org.springframework.c

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

zuul1.x系列作为网关,基于servlet实现,属于多线程同步阻塞模型;zuul2.x改写netty,属于异步非阻塞模型;gateway属于异步非阻塞模型。

这里基于spring-session+redis+zuul session共享示例,将其中的zuul网关替换为gateway网关技术。

工程改造

pom依赖

引入gateway依赖包

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-actuator</artifactId>
	    </dependency>

增加eureka注册中心依赖信息,这里不能使用spring-cloud-starter-netflix-eureka-server,与gateway的jar包有冲突,可以参考Consider defining a bean of type ‘org.springframework.http.codec.ServerCodecConfigurer‘ in your conf

	    <dependency>
		    <groupId>org.springframework.cloud</groupId>
		    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

代码启动类

注解该类为一个springboot工程,并且通过@EnableDiscoveryClient将其注册到注册中心

@EnableDiscoveryClient
@SpringBootApplication
public class Gateway {

	public static void main(String[] args) {
		SpringApplication.run(Gateway.class, args);
	}
	
}

配置文件

server:
  port: 5000  #gateway网关服务端口号
spring:
  application:
    name: gateway  #gateway网关实例名称
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true       #将请求路由至DiscoveryClient发现的注册中心的服务
          lowerCaseServiceId: true #请求url是否大小写敏感,默认false敏感;true表示不敏感
      routes:  #路由信息配置
      - id: um_route #一个id为一组路由信息
        uri: lb://um  #将请求路由到um服务
        predicates:   #请求格式
        - Path=/um/**
      - id: bm_route
        uri: lb://bm
        predicates:
        - Path=/bm/**
management:
  endpoints:
    web:
      exposure:
        include: '*' #暴露所有端点信息给actuator
eureka:             # eureka服务注册中心信息
  instance:
    prefer-ip-address: true 
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka
          

上面配置文件中uri部分内容未 lb://bm ,lb 表示load balance(负载均衡),将请求分发给所有以bm命名的工程。

项目测试

依次启动 servicecenter、gateway、UserManagerA、UserManagerB 和 BuyManager工程,启动完毕后,打开注册中心 http://localhost:8761/ 可以看到各实例注册成功

gateway 网关_小米多功能网关联不上

功能测试易正常。

gateway网关测试还有另一种方式,在gateway的actuator浏览器信息查看 http://localhost:5000/actuator/gateway/routes 

gateway 网关_小米多功能网关联不上

这里,说明gateway负责分发两个路由配置信息。

 

至此,一个简单的gateway小demo完成。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183830.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm运行卡死_pycharm调试快捷键

    pycharm运行卡死_pycharm调试快捷键就跑着跑着莫名其妙卡住,具体表现在左下角的Debugger一片空白,变量监视也啥都没有原链接:https://www.jianshu.com/p/8a8a93c330b5感谢这位大佬!我们在使用PyCharm进行Python代码调试查看具体变量时,会随机遇到一直显示collectingdata,到最后报错Timeoutwaitingforresponse,在界面中看不到变量内部的内容,导致Debug卡死的问题。在PyCharm中,打开Setting界面,在如下设置项中勾选“Geventc

  • mysql的root密码更改_navicat忘记root密码

    mysql的root密码更改_navicat忘记root密码方法1:用SETPASSWORD命令MySQL-urootmysql>SETPASSWORDFOR’root’@’localhost’=PASSWORD(‘newpass’);方法2:用mysqladminmysqladmin-urootpassword”newpass”如果root已经设置过密码,采用如下方法mysqladmin-urootpasswordoldpass”newpass”方法3:用UPDATE直接编辑user

  • 银行家算法C语言版「建议收藏」

    银行家算法C语言版「建议收藏」#include<stdio.h>#include<stdlib.h>#include<conio.h>#definem50#definetrue1#definefalse0intno1;//进程数intno2;//资源数intr;intallocation[m][m],need[m][m],available[m],max[m][m];charname1[m],name2[m];.

  • idea 20213.3激活码(最新序列号破解)

    idea 20213.3激活码(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • IDEA的常见的设置和优化(功能)

    IDEA的常见的设置和优化(功能)显示工具条、设置鼠标悬浮提示、显示方法分隔符、忽略大小写提示、主题设置、自动导入包、单行显示多个Tabs、设置字体、配置类文档注释信息和方法注释模版、水平或者垂直显示代码、更换快捷键、注释去掉斜体、重装Idea导入配置信息

  • activity manager_tasklist findstr

    activity manager_tasklist findstr//getRunningTasks(int),获取int个任务栈列表,但返回的列表size可能会小于int//getRunningTasks(int).get(0):获取当前正在运行的任务栈对象,通过这个对象可获取栈中activity的数量、正处于运行状态的activity数量等等信息//getRunningTasks(int).get(0).topActivity:获取当前正在运行的任…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号