springcloud-zuul-gateway
pom文件新增依赖:
<!--SpringCloud 整合 config-client--><dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
<!--actuator监控中心-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
修改application.yml配置文件:
## api网关端口号
server:
port: 80
## 服务注册名称
spring:
application:
name: server-zuul
cloud:
config:
#### 读取版本环境
profile: dev
discovery:
#### config server 服务注册别名
service-id: config-server
#### 开启读取权限
enabled: true
eureka:
client:
service-url:
##当前服务注册到Eureka服务地址
defaultZone: http://localhost:8100/eureka,http://localhost:9100/eureka
register-with-eureka: true
## 需要检索服务信息
fetch-registry: true
#### 配置动态
#zuul:
# routes:
# ## 表示定义转发服务规则
# api-a:
# ### 当客户端发送请求http://127.0.0.1:80/api-member开头的,都会转发到会员服务
# path: /api-member/**
# ### 会员服务别名 zuul默认整合ribbon,自动实现轮询效果
# serviceId: app-member
# api-b:
# ### 当客户端发送请求http://127.0.0.1:80/api-order开头的,都会转发到订单服务
# path: /api-order/**
# ### 订单服务别名 zuul默认整合ribbon,自动实现轮询效果
# serviceId: app-order
####开启所有端点
management:
endpoints:
web:
exposure:
include: "*"
注释掉的部分,新增yml文件到Getee上
AppGateway启动类新增zuul配置
package com.baba.wlb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.netflix.zuul.filters.ZuulProperties;
/**
* @Author wulongbo
* @Date 2021/1/28 11:52
* @Version 1.0
*/@SpringBootApplication
@EnableEurekaClient
@EnableZuulProxy
public class AppGateway {
//@EnableZuulProxy 开启网关代理
public static void main(String[] args) {
SpringApplication.run(AppGateway.class, args);
}
// zuul配置能够使用config实现实施更新
@RefreshScope
@ConfigurationProperties("zuul")
public ZuulProperties zuulProperties(){
return new ZuulProperties();
}
}
启动项目
依次启动Eureka Server、Config Server、Zuul网关gateway,以及Member 或者 Order服务
Config Server服务
分布式配置中心 config server验证gitee上的配置文件能够正确读取,访问:http://localhost:8888/server-zuul-dev.yml
网关访问
zuul网关访问:http://localhost/api-member/getMember?name=iswulongbo&userToken=cloud
验证动态读取到了gitee上的配置文件,要动态修改或者动态新增服务到zuul网关,只需在gitee的配置文件中添加完后手动调用接口刷新或者通过集成bus消息总线就OK!这里不再说明。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。