통합 게이트웨이 게이트웨이
1 게이트웨이의 역할
1. 이용자 요청에 대한 본인인증 및 권한확인 수행
2. 사용자 요청을 마이크로서비스로 라우팅하고 로드 밸런싱 구현
3. 과도한 동시성으로 인해 마이크로서비스가 충돌하는 것을 방지하기 위해 사용자 요청 흐름을 제한합니다.
2. 게이트웨이 서비스 구축
새 모듈 생성, SpringCloudGateway 종속성 및 nacos 서비스 검색 종속성 가져오기
Gateway 자체도 마이크로 서비스이기 때문에 nacos에 등록하고 nacos에서 검색해야 합니다.
<!--nacos的服务发现依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 网关依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
라우팅 구성 및 nacos 주소 쓰기:
라우팅 구성에는 다음이 포함됩니다.
1. 경로 ID: 경로의 고유 식별자
2. 라우팅 대상: 경로의 대상 주소, lb는 서비스 이름에 따른 로드 밸런싱을 의미합니다.
3. 라우팅 어설션: 라우팅 규칙 판단
4. 경로 필터: 요청 또는 응답 처리
server:
port: 10010
spring:
application:
name: gateway #服务名称
cloud:
nacos:
server-addr: localhost:8848 #nacos地址
gateway:
routes: #网关的路由配置
- id: user-service #路由id 可自定义但要保证唯一性
uri: lb://userservice #路由的目标地址
predicates: #判断请求是否符合路由规则的条件
- Path=/user/**
- id: order-service #路由id 可自定义但要保证唯一性
uri: lb://orderservice #路由的目标地址
predicates: #判断请求是否符合路由规则的条件
- Path=/order/**
10010/order/101에 액세스하여 데이터를 성공적으로 획득하여 게이트웨이 라우팅이 성공했음을 나타냅니다.