java 微服务 Nacos配置 feign 网关&路由

Nacos配置管理

java 微服务 Nacos配置 feign 网关&路由_第1张图片

java 微服务 Nacos配置 feign 网关&路由_第2张图片 java 微服务 Nacos配置 feign 网关&路由_第3张图片

 配置信息我们写有热更新需求的配置就可以了java 微服务 Nacos配置 feign 网关&路由_第4张图片

 

1.引入Nacos的配置管理客户端依赖:



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

2.在userservice中的resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml 主要是告诉从哪里去拉取配置

spring:
  application:
    name: userservice
  profiles:
    active: dev #环境为开发环境
  cloud:
    nacos:
      server-addr: localhost:8848  #nacos地址
      config:
        file-extension: yaml #文件后缀名

java 微服务 Nacos配置 feign 网关&路由_第5张图片

 java 微服务 Nacos配置 feign 网关&路由_第6张图片

 配置自动刷新

java 微服务 Nacos配置 feign 网关&路由_第7张图片

 java 微服务 Nacos配置 feign 网关&路由_第8张图片

java 微服务 Nacos配置 feign 网关&路由_第9张图片 

多环境配置共享

java 微服务 Nacos配置 feign 网关&路由_第10张图片 

 

 java 微服务 Nacos配置 feign 网关&路由_第11张图片

Nacos集群搭建

java 微服务 Nacos配置 feign 网关&路由_第12张图片

 java 微服务 Nacos配置 feign 网关&路由_第13张图片

 

多服务共享配置

java 微服务 Nacos配置 feign 网关&路由_第14张图片

 java 微服务 Nacos配置 feign 网关&路由_第15张图片

 

 

http客户端Feign

RestTemplate方式调用存在的问题java 微服务 Nacos配置 feign 网关&路由_第16张图片

 

Feign的介绍

Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign

其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。

使用Feign的步骤如下:

1.引入依赖:


    org.springframework.cloud
    spring-cloud-starter-openfeign

2.在order-service的启动类添加注解开启Feign的功能:

java 微服务 Nacos配置 feign 网关&路由_第17张图片

3.编写Feign客户端:

@FeignClient("userservice")
public interface UserClient {
    @GetMapping("/user/{id}")
    User findById(@PathVariable("id") long id);
}

java 微服务 Nacos配置 feign 网关&路由_第18张图片

 4.用Feign客户端代替RestTemplate

java 微服务 Nacos配置 feign 网关&路由_第19张图片

 

 

自定义Feign的配置

java 微服务 Nacos配置 feign 网关&路由_第20张图片

配置Feign日志有两种方式:

java 微服务 Nacos配置 feign 网关&路由_第21张图片 

java 微服务 Nacos配置 feign 网关&路由_第22张图片 

 

Feign的性能优化

java 微服务 Nacos配置 feign 网关&路由_第23张图片

 Feign的性能优化-连接池配置

Feign添加HttpClient的支持:

1.引入依赖


        
            io.github.openfeign
            feign-httpclient
        

2.配置连接池:

java 微服务 Nacos配置 feign 网关&路由_第24张图片

java 微服务 Nacos配置 feign 网关&路由_第25张图片 

 Feign的最佳实践

java 微服务 Nacos配置 feign 网关&路由_第26张图片

 ​​​​​​​java 微服务 Nacos配置 feign 网关&路由_第27张图片

抽取FeignClient

 3:java 微服务 Nacos配置 feign 网关&路由_第28张图片java 微服务 Nacos配置 feign 网关&路由_第29张图片

 

 推荐使用方式2

 

 统一网关

为什么需要网关

java 微服务 Nacos配置 feign 网关&路由_第30张图片

网关的技术实现

java 微服务 Nacos配置 feign 网关&路由_第31张图片 

 搭建网关服务

1.创建新的module,引入SpringCloudGateway的依赖和nacos的服务发现依赖:



    org.springframework.cloud
    spring-cloud-starter-gateway



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery

2.编写路由配置及nacos地址

server:
  port: 10010
spring:
  application:
    name: gateway
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos地址
    gateway:
      routes:
        - id: user-service #路由标识必须唯一
          uri: lb://userservice #路由目标地址
          predicates:  #路由断言,判断请求是否符合规则
            - Path=/user/** #路由断言 判断请求路劲是否以/user开头

java 微服务 Nacos配置 feign 网关&路由_第32张图片

java 微服务 Nacos配置 feign 网关&路由_第33张图片 

路由断言工厂Route Predicate Factory

java 微服务 Nacos配置 feign 网关&路由_第34张图片 

java 微服务 Nacos配置 feign 网关&路由_第35张图片 

java 微服务 Nacos配置 feign 网关&路由_第36张图片 

 路由过滤器 GatewayFilter

java 微服务 Nacos配置 feign 网关&路由_第37张图片

过滤器工厂 GatewayFilterFactory

java 微服务 Nacos配置 feign 网关&路由_第38张图片 

 案例 给所有进入userservice的请求添加一个请求头

java 微服务 Nacos配置 feign 网关&路由_第39张图片

java 微服务 Nacos配置 feign 网关&路由_第40张图片

 

默认过滤器 

java 微服务 Nacos配置 feign 网关&路由_第41张图片

 全局过滤器 GlobalFilter

java 微服务 Nacos配置 feign 网关&路由_第42张图片

java 微服务 Nacos配置 feign 网关&路由_第43张图片 

 java 微服务 Nacos配置 feign 网关&路由_第44张图片

 java 微服务 Nacos配置 feign 网关&路由_第45张图片

 过滤器执行顺序

java 微服务 Nacos配置 feign 网关&路由_第46张图片

java 微服务 Nacos配置 feign 网关&路由_第47张图片 

 java 微服务 Nacos配置 feign 网关&路由_第48张图片 跨域问题处理

java 微服务 Nacos配置 feign 网关&路由_第49张图片

java 微服务 Nacos配置 feign 网关&路由_第50张图片 

 

 限流过滤器

java 微服务 Nacos配置 feign 网关&路由_第51张图片

 java 微服务 Nacos配置 feign 网关&路由_第52张图片

 java 微服务 Nacos配置 feign 网关&路由_第53张图片

 java 微服务 Nacos配置 feign 网关&路由_第54张图片

 

你可能感兴趣的:(java,微服务,java,微服务,开发语言)