融资项目——网关微服务

1. 网关的路由转发功能

融资项目——网关微服务_第1张图片

在前后端分离的项目中,网关服务可以将前端的相关请求转发到相应的后端微服务中。

2. 网关微服务的配置

首先需要创建一个网关微服务,并添加依赖。

        
        
            org.springframework.cloud
            spring-cloud-starter-gateway
        
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            org.springframework.cloud
            spring-cloud-openfeign-core
        

随后,需要在application.yml配置相关的参数。如下图,id表示微服务名称,uri表示目标服务的地址,uri后面的lb表示采用负载均衡的方式,predicates为路由条件,Predicate 接受⼀个输⼊参数,返回⼀个布尔值结果。

server:
  port: 80 # 服务端口

spring:
  profiles:
    active: dev # 环境设置
  application:
    name: service-gateway # 服务名
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos服务地址
    gateway:
      discovery:
        locator:
          enabled: true # gateway可以发现nacos中的微服务,并自动生成转发路由
      #路由转发配置
      routes:
        - id: service-core
          uri: lb://service-core
          predicates:
            - Path=/*/core/**
        - id: service-sms
          uri: lb://service-sms
          predicates:
            - Path=/*/sms/**
        - id: service-oss
          uri: lb://service-oss
          predicates:
            - Path=/*/oss/**

3 解决跨域问题

需要创建Config类来处理跨域问题。

@Configuration
public class CrossOriginConfig {
    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true); // 是否允许携带cookie
        config.addAllowedOrigin("*"); // 可接受的域,是一个具体域名或者*(代表任意域名)
        config.addAllowedHeader("*"); // 允许携带的头
        config.addAllowedMethod("*"); // 允许访问的方式

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);

        return new CorsWebFilter(source);
    }
}

你可能感兴趣的:(微服务,服务器,网络)