프로젝트 에서 Spring Cloud Alibaba Sentinel 구성 요 소 를 사용 하 는 방법 에 대해 말씀 드 리 겠 습 니 다.
마이크로 서비스 가 유행 하면 서 서비스 와 서비스 간 의 안정성 이 점점 중요 해 졌 다.Sentinel 은 유량 을 착안점 으로 하고 유량 제어,퓨즈 강등,시스템 부하 보호 등 여러 차원 에서 서비스의 안정성 을 보호 한다.
홈 페이지:https://github.com/alibaba/Sentinel
중국어 홈 페이지:https://github.com/alibaba/Sentinel/wiki
Sentinel 과 Hystrix 의 차이 점
Hystrix 가 더 이상 적극적으로 개발 하지 않 고 유지 보수 단계 에 들 어가 기 때문에 현재 점점 더 많은 개발 자 들 이 프로젝트 에서 Spring Cloud Alibaba Sentinel 구성 요 소 를 사용 하고 있 습 니 다.
Hystrix 의 관심 사 는 격 리 와 용 단 을 위주 로 하 는 용 착 메커니즘 입 니 다.시간 이 초과 되 거나 용 단 된 호출 은 빠르게 실패 하고 fallback 체 제 를 제공 할 수 있 습 니 다.
Sentinel 의 중점 은 다양한 데이터 제어,퓨즈 강등,시스템 부하 보호,실시 간 모니터링 과 컨트롤 러 에 있다.
대비 상세도
Sentinel 의 기능 특징-공식 에서 발췌
Sentinel 은 두 부분 으로 나 뉜 다.
핵심 라 이브 러 리(Java 클 라 이언 트)-자신의 프로젝트 의 코드.어떠한 프레임 워 크/라 이브 러 리 에 도 의존 하지 않 고 자바 7 이상 버 전의 운영 환경 에서 실행 할 수 있 으 며 Dubbo/Spring Cloud 등 프레임 워 크 에 도 좋 은 지원 을 받 습 니 다.
콘 솔(Dashboard)인 콘 솔 은 주로 푸 시 규칙,모니터링,클 러 스 터 흐름 제한 배분 관리,기계 발견 등 을 관리한다.
1.콘 솔(Dashboard)
1.sentienl 의 jar 가방 을 다운로드 합 니 다.이 예 는 sentinel-dashboard-1.7.2.jar,주소:https://github.com/alibaba/Sentinel/releases
2.자바-jar 명령 으로 Sentinel 콘 솔 시작
Sentinel 콘 솔 을 시작 하려 면 JDK 버 전이 1.8 이상 이 어야 합 니 다.
3.방문 주소:http://localhost:8080/,8080 Sentinel 의 기본 포트 기본 계 정 비밀 번 호 는 sentinel 입 니 다.
2.클 라 이언 트 구축
1.자신의 프로젝트 에 의존 도입
<!---sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2.항목 의 편집 application.yml 또는 boottstrap.yml 파일Sentinel 콘 솔 설정 정보 추가
spring:
sentinel:
transport:
port: 8719 # Sentinel , HttpServer # 8719 , , +1,
dashboard: localhost:8080 #sentinel , dashboard jar
3.자원 은 Sentinel 의 관건 적 인 개념 이다.그것 은 서비스,방법,심지어 코드 세 션 등 모든 것 일 수 있다.Sentinel API 에 패키지 되면 자원 으로 정의 되 며 Sentinel 이 제공 하 는 보 호 를 신청 할 수 있 습 니 다.
데이터 제어 가 필요 한 코드 를 Sentinel 의 핵심 코드 인 SphU.entry(자원 이름)와 entry.exit()로 둘러싸 면 됩 니 다.
실례 코드--공식 에서 발췌
Entry entry = null;
try {
// sentinel , test-sentinel-api
entry = SphU.entry(resourceName);
//
Thread.sleep(100);
return a;
} catch (BlockException e) {
// , BlockException
log.warn(" ", e);
return " ";
} catch (InterruptedException e) {
return " InterruptedException";
} finally {
if (entry != null) {
entry.exit();
}
ContextUtil.exit();
}
}
주석 사용@SentinelResource
자원 을 정의 하고 선택 할 수 있 는 이상 처리 와 fallback 설정 항목 을 제공 합 니 다.예 를 들 면:
시작 항목
3.인터페이스의 유량 에 대한 상세 한 정 보 를 조회 합 니 다.
1.실시 간 모니터링
2.클 러 스 터 링크
3.등등:기타 사용 방법 발굴 필요
보충:
1.QPS:초당 요청 수,현재 이 api 를 호출 한 QPS 가 한도 값 에 도 달 했 을 때 스 트림 제한
2.스 레 드 수:이 api 의 스 레 드 수가 한도 값 에 도 달 했 을 때 스 레 드 를 제한 합 니 다.
3.직접:api 가 제한 조건 에 이 르 렀 을 때 직접 제한 4
4.관련:관련 자원 이 한도 값 에 도달 하면 자신 을 제한 합 니 다.
5.링크:지 정 된 도로 의 트 래 픽 만 기록 하고 자원 이 입구 자원 에서 들 어 오 는 트 래 픽 을 지정 합 니 다.한도 값 에 도달 하면 흐름 제한,api 등급 의 흐름 제한 을 합 니 다.
6.핫 이 슈 규칙 은 자주 방문 하 는 데이터 입 니 다.많은 경우 에 우 리 는 특정한 핫 이 슈 데이터 중에서 방문 빈도 가 가장 높 은 Top K 데 이 터 를 통계 하고 그 방문 을 제한 하 기 를 원한 다.
7.응답 시간 은 시스템 이 요청 에 응답 하 는 시간 을 말한다.
8.스루풋 은 시스템 이 단위 시간 내 에 요청 한 수량 을 처리 하 는 것 을 말한다.
프로젝트 에서 Spring Cloud Alibaba Sentinel 구성 요 소 를 어떻게 사용 하 는 지 에 대한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Spring Cloud Alibaba Sentinel 구성 요소 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.