Ocelot은 .NET 코어로 구현된 오픈소스 API 게이트웨이로, 라우팅, 요청 집계, 서비스 탐색, 인증, 인증, 전류 제한 차단기, 그리고 서비스 패브릭과 버터플라이 트레이싱과의 내장 부하 분산 통합을 포함합니다. 이 함수들은 간단하기만 하면 되며, 이 함수들의 구성을 하나씩 설명할 것입니다.
물론 자바 프로젝트에도 게이트웨이가 있는데, Spring Cloud Gateway는 Spring Cloud의 새로운 게이트웨이 프레임워크로, 이전에는 Netflix Zuul이었습니다.
먼저, 코어 3.1 ASP.NET dotnet-gateway-demo라는 이름의 빈 프로젝트를 생성하세요
Nuget은 다음 명령어로 Ocelot을 설치합니다:
각각 web-api-demo1과 web-api-demo2라는 두 개의 새로운 asp.net Core 3.1 API 프로젝트를 만듭니다. 해의 구조는 다음과 같습니다:
"web-api-demo1" 및 "web-api-demo2" 프로젝트의 WeatherForecastController 컨트롤러의 Get 메서드를 다음 코드로 수정하세요:
demo1 링크: http://localhost:7853/weatherforecast 데모2 링크: http://localhost:7863/weatherforecast
dotnet-gateway-demo 프로젝트의 루트 디렉터리에서 다음과 같이 새 구성 파일 "ocelot.json"을 생성하세요:
여기서 BaseUrl 주소는 현재 프로젝트의 런칭 URL로 채워집니다.실제 상황에 맞게 채워 넣으세요。
- DownstreamPathTemplate: 다운스트림 서비스의 상대적 경로
- DownstreamScheme: 다운스트림 서비스 http 스키마
- DownstreamHostAndPorts: 다운스트림 서비스의 주소로, LoadBalancer를 사용하면 여러 필드를 채울 수 있습니다
- UpstreamPathTemplate: 上游也就是用户输入的请求Url模板
- UpstreamHttpMethod: 上游请求http方法,可使用数组
Program.cs의 CreateHostBuilder에 참여하세요
다음 코드로 Startup.cs 파일을 편집하세요:
주요 코드는 다음과 같습니다:
다음 그림에 나와 같이 스타트업 프로젝트를 설정하고 3개의 웹 프로젝트를 동시에 시작하세요:
설정이 완료되면 실행하고, 설정 규칙에 따라 다음 접근을 시도하세요:하이퍼링크 로그인이 보입니다.그리고하이퍼링크 로그인이 보입니다.아래에 나와 있습니다:
ocelot.json 파일에 다음 구성을 추가하고, 이 사이트를 역프록시하려고 시도해 보세요. 구성은 다음과 같습니다:
방문해 보세요:하이퍼링크 로그인이 보입니다.
소스 코드 다운로드:
관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다 회답
참고 문서:하이퍼링크 로그인이 보입니다.
(끝)
|