基础服务设施(eureka,gateway configserver auth-server)这里使用虚拟机实现
1创建两个 gateway,端口分别为 80和 81
2 Nginx的配置文件修改
3访问测试
Gateway的两种路由配置方式
代码路由方式(掌握)
官网给出的配置类,我们照葫芦画瓢https://docs.spring.io/spring-cloud-gateway/docs/2.2.5.RELEASE/reference/html/#modifying-the-way-remote-addresses-are-resolved
1.1创建配置类 GatewayConfig
1.2启动测试
2使用 yml方式(重点)
和上面的快速入门一样,使用 yml的方式,在开发中是常用的
Gateway微服务名动态路由,负载均衡
从之前的配置里面我们可以看到我们的 URL都是写死的,这不符合我们微服务的要求,我们微服务是只要知道服务的名字,根据名字去找,而直接写死就没有负载均衡的效果了
默认情况下 Gateway会根据注册中心的服务列表,以注册中心上微服务名为路径创建动态路由进行转发,从而实现动态路由的功能需要注意的是 uri的协议为 lb(load Balance),表示启用 Gateway的负载均衡功能。
- lb://serviceName是 spring cloud gateway在微服务中自动为我们创建的负载均衡 uri协议:就是双方约定的一个接头暗号
- http://
实践 修改 gateway配置
启动测试
- 启动 eureka-server
- 启动两个服务名为 provider的服务,
- 和 uri里面 lb://服务名一致
- 在 provider里面提供**两个接口/info
- 访问测试**:http://192.168.137.1/info正常访问
当我们新起一个服务,那么 gateway可以实现服务发现功能,我们并没有再 routers里面配置路由规则,
然而我们访问新起的 provider-order-service,
测试访问http://localhost/provider-order-service/info可以成功,这就是动态路由和服务发现