핵심 데모:
1 종속성을 도입합니다.
<의존성> <groupId>com.alibaba.csp</groupId> <artifactId>센티넬 코어</artifactId> <버전>1.8.0</버전> </종속성> 2 핵심 코드:
3 전류 제한 보호 코드:
위는 Sentinel의 핵심 코드 사용 로직이다. 보호해야 할 리소스를 코드에 하드코딩한 다음 리소스를 호출하기 전에 전류 제한 보호를 위한 API를 사용할 수 있습니다.
실제 사용에서 위의 방법은 리소스 보호에 거의 사용되지 않습니다. 코드는 침입성이 높으며 보호해야 하는 리소스를 동적으로 확장할 수 없습니다.
주석을 사용하여 리소스 정의를 완료합니다(springboot에서).
1 종속성을 도입합니다.
<의존성> <groupId>com.alibaba.csp</groupId> <artifactId>센티넬 코어</artifactId> <버전>1.8.0</버전> </종속성>
2 핵심 코드:
주석을 사용하면 코드 침입을 줄일 수 있지만 동적으로 확장할 수는 없습니다(현재 제한 규칙은 여전히 하드 코딩되어 사전에 처리되어야 함).
springboot + 센티넬 + 센티넬 대시보드
1 Sentinel 대시보드 jar 패키지 다운로드
sentinel-dashboard-1.8.0.jar (물론 이미지를 다운로드하고 docker를 통해 시작할 수도 있습니다)
2 대시보드 시작을 완료하려면 시작 매개변수를 추가하세요.
-Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8719
그 중: server.port=8719는 dashbaord의 http 포트 번호를 나타냅니다.
-Dcsp.sentinel.dashboard.server=localhost:8718은 대시보드가 대시보드에 표시되도록 등록됨을 의미합니다.
-Dproject.name=sentinel-dashboard 표시되는 프로젝트 이름
-Dcsp.sentinel.api.port=8719 클라이언트 통신 포트
3 springboot 애플리케이션에서 sentinel 대시보드에 연결
의존성
b 시작 명령
-Dcsp.sentinel.dashboard.server=192.168.56.102:8858 ---dashbaord 주소를 추가합니다.
-Dproject.name=webDemo2 ---클라이언트 제한 이름
-Dcsp.sentinel.api.port=8719 ---통신 포트 번호
c 구성:
d 인터페이스 호출: http://localhost:8112/getStr
이 시점에서 대시보드에서 연결된 애플리케이션을 볼 수 있습니다.
Spring Cloud의 애플리케이션 액세스:
1 종속성:
2 구성
위의 종속성 및 구성을 추가한 후 별도의 구성 없이 대시보드에서 관련 애플리케이션 정보를 확인할 수 있습니다.
참고로, Sentinel 핵심 코드의 소스 코드 분석과 대시보드 통신 메커니즘은 나중에 소스 코드 분석에 추가됩니다.