Springboot集成zuul网关和config分布式配置管理中心

创建网关服务项目

网关官方文档

引入zuulMaven地址

<!--网关-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    </dependency>
    <!--actuator监测中心-->
    <dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
     <!--eureka客户端--->
     <dependency>
			 <groupId>org.springframework.cloud</groupId>
			 <artifactId> spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
     <!--springcloudconfig客户端配置服务中心-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-client</artifactId>
    </dependency>

配置服务调用规则

application.wml

 spring:
  application:
    name: zuul

eureka:
  client:
    #registerWithEureka: false #false:不作为一个客户端注册到注册中心
    #fetchRegistry: false     
    #serviceUrl:
      #defaultZone: http://localhost:8761/eureka/
server:
  port: 80

# 这一段zuul配置也可以用一个单独的配置服务项目进行实时更新
#服务一member
#只要请求包含logins的都将拦截走nember服务
#服务二pay
*****************************start*********************************
zuul:
  routes:
    users:
      path: /login/**
      serviceId: member
    pay:
      path: /pay/**
      serviceId: pay
#如果模块服务有做集群的,zuul网关会默认做轮询机制
  #配置zuul路由时用将此属性设置为false//转发调用服务出错,修改为true
ribbon:
  ReadTimeout: 60000
  ConnectTimeout: 60000
  MaxAutoRetries: 0
  MaxAutoRetriesNextServer: 1
  eureka:
    enabled: true
    *******************************end*****************************************


    #开启所有端口的监控
management:
	  endpoints:
	    web:
	      exposure:
	        include: "*"

启动器:

加入这几个注解OK

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@EnableZuulProxy
@EnableEurekaClient
public static void main(String[] args) {
    SpringApplication.run(ZuulServer.class,args);
}
 //配置时施更新
    @RefreshScope
    @ConfigurationProperties("zuul")
    public ZuulProperties zuulProperties(){
        return  new ZuulProperties();
    }

网关过滤器使用:

	@Component
	public class ZuulFilters extends com.netflix.zuul.ZuulFilter {
	    //filterType代表过滤类型
	    @Override
	    public String filterType() {
	        return null;
	    }
	    //filterOrder代表过滤器顺序
	    @Override
	    public int filterOrder() {
	        return 0;
	    }
	    //shouldFilter代表这个过滤器是否生效  设置为true生效
	    @Override
	    public boolean shouldFilter() {
	        return true;
	    }
	    //处理逻辑的地方,做权限控制、日志等都是在这里
	    @Override
	    public Object run() throws ZuulException {
	        return null;
	    }
	}

分布式配置服务中心

在这里插入图片描述

maven地址:

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>

配置:application.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri:   #git远程配置文件地址
          search-paths:
            - gkconfig
        native:
          search-locations: #本地地址
      label: master  #分支
server:
  port: 8888

启动器

	@EnableConfigServer
	@EnableDiscoveryClient
	@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
	public class ConfigServer {
	    public static void main(String[] args) {
	        SpringApplication.run(ConfigServer.class,args);
	    }
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知青先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值