알리바바의 센티넬 통합을위한 봄 클라우드 (4)

A, 센티넬 관련  

 센티넬 무엇입니까

  인기 마이크로 서비스, 및 서비스의 안정성이 더욱 중요 해지고있다.

      센티넬은 시작점, 흐름 제어, 퓨즈 다운 그레이드로 흐름 분산 서비스 지향 아키텍처 경량 흐름 제어 제품, 자원 치수, 보호의 차원에서 시스템 부하는 서비스의 안정성을 보호합니다.

  Hystrix와 센티넬 대비

     여기에서 볼 수 있습니다 상세한 비교 ( Hystrix 센티넬과 비교 ) https://yq.aliyun.com/articles/623424  ,

    그것을 요약하면 : 가볍고, 강력한 성능, 애플리케이션 시나리오, 더 많은 유연성을위한 프레임 워크를 감시!

 소스 및 통역 센티넬의 원리

     당신은 볼 수 제인 책 (Abelia) 기사https://www.jianshu.com/nb/34444279 

     센티넬 노드, 호출 체인, 강등 및 기타 소스 코드의 개념을 이해하고, 그것의 대부분은 이해하기가 매우 쉽다. 코드의 예열 기능 창을 슬라이딩, 내가 부끄럽다, 조금 아주 이해하지.

   

두, 센티넬 콘솔 출시

 의 위의 원래 프로젝트 코드, 센티넬 접근 통제 기능에서 시작하자.

  1. 다운로드 센티넬 대시 보드 콘솔.

     직접 GitHub의에 센티넬 오픈 소스 프로젝트 릴리스 페이지  https://github.com/alibaba/Sentinel/releases , 다운로드 JAR 패키지 전초 대시 보드-1.6.3.jar 

    한 번 다운로드 한 디렉토리의 페이지에 항아리, 콘솔 입력 : 자바 -Dserver.port = 7070 -Dcsp.sentinel.dashboard.server = 로컬 호스트 : 7070 -Dproject.name = 전초 대시 보드 -jar 전초 대시 보드 1.6.3. 항아리 시작

  대시 보드 프로젝트는 사실, 센티넬 클라이언트 구성 요소에 포함 주기적으로 콘솔뿐만 아니라, 웹 구성 콘솔 포트에 대한 정보뿐만 아니라, 콘솔처럼 하트 비트 정보를 전송  

매개 변수 설명 : 
server.port = 7070   ## - 포트 콘솔 웹 
csp.sentinel.dashboard.server = 로컬 호스트 : 7070   ## 콘솔 액세스하는 URL 
project.name = ## 센티넬 - 대시 보드 콘솔 프로젝트 이름

   2. 페이지를 시작한 후

     : 브라우저 입력에서 시작한 후  http://127.0.0.1:7070  , 기본 사용자 이름과 암호 : 감시 / 감시 아래의 페이지를 입력 할 수 있습니다 :

                       

   당신은 페이지의 경험을보고 왼쪽에 관련 메뉴를 클릭 할 수 있습니다.

셋째, 프로젝트 센티넬 구성 요소 액세스

   센티넬 1. 간단한 접근

      센티넬 단순한 통로, 보행, 예를 들면, 도입해야 전초 코어 전초 아파치 보행 어댑터 (코어 패키지를 포함), 전초 운송 단순 HTTP,

     패키지의 실제 도입은 다음과 같습니다 :

    <! - sentinel.version = 1.6.3 ->
      <의존성> 
            <의 groupId> com.alibaba.csp </의 groupId> 
            <artifactId를> 전초 운송 단순 HTTP </ artifactId를> 
            <version>은 $ {sentinel.version} </ 버전> 
        </ 의존성> 

        <의존성> 
            < 의 groupId> com.alibaba.csp </의 groupId> 
            <artifactId를> 전초 아파치 보행 어댑터 </ artifactId를> 
            <version>은 $ {sentinel.version} </ 버전> 
        </ 의존성>
전초 운송 간단한 HTTP 패키지는 클라이언트가 대시 보드, 프로젝트 트래픽 통계에 하트 비트를 보낸다 
전초 아파치 - 두보 어댑터 패키지, 공급자 측의 주요 코드의 보행에 적응 : 서비스 엔드 필터를 제공 SentinelDubboProviderFilter, 입구 유동 제어

2. 감시 구성

  감시 시작, 당신은 몇 가지 기본 정보를 구성해야합니다 :

       1. project.name : 프로젝트 이름

      2. csp.sentinel.api.port : 요청 대시 보드를 수신하기위한 로컬 포트,

      3. csp.sentinel.dashboard.server : 콘솔 대시 보드, 콘솔에 심장 ​​박동, 통계 정보를 전송하는 데 사용

   구성 :

        하나는 JVM -D를 시작할 때하는 IDE 구성 할 수있는 매개 변수에 의해 지정 될 수 있습니다

        System.setProperty를 설정 2. 주요 시작. 1 개 당량의 효과를 상대적으로 쉽게 복사 및 페이스트.

       이외에도 3.  project.name 웰 로그 구성 항목 (예  csp.sentinel.log.dir), 나머지 매개 변수는 특성에 의해 지정된 파일 될 수 있고, 경로 ${user_home}/logs/csp/${project.name}.properties

       4. 액세스 alicloud 센티넬 스타터 조립체가 구성 파일에 배치 될 수있다 (실제 효과는 2 통화 후속 단계를 판독하도록 구성된다) 

    1 개 구성 배치를 시작할 수 내부 IDE에 도움이 너무 복잡하고 아닌, 여러 장소에서 구성한 처음 세 종류, 불편 변경합니다. 나는 IDE 내부 디버깅 현재 오전, 응용 프로그램, 이가지 사용을 시작합니다.

   다음과 같이 코드입니다 :

@EnableDiscoveryClient 
@SpringBootApplication 
공용 클래스 ProductDemoApplication { 

    정적 인 { 
        initSentinelProperty (); 
    } 
    개인 정적 무효 initSentinelProperty () {구성 설정을 시작 // 
        오류를 시작 // 때 System.setProperty를을 ( "java.net.preferIPv4Stack", " 진정한") 만 IP의 IPv4의 공식 추천 
        ( "project.name", "제품-데모") System.setProperty를, 
        System.setProperty를 ( "csp.sentinel.api.port", "7081"); 
        System.setProperty를 ( "CSP .sentinel.api.port ","127.0.0.1:7070 "); 
    } 
    공공 정적 무효 메인 (문자열 []에 args) { 
        SpringApplication.run (ProductDemoApplication.class, 인수); 
    } 
} 

구성 후, 응용 프로그램을 시작합니다. 시작 후, 관련 자원을 응용 프로그램에 액세스 호출해야합니다 , 또는 심장 박동 감시 로직을, 대시 보드가 표시되지 않습니다 시작되지 않습니다.

 

결합 제한적 실시 3. 대시

  1. 시작 제품 데모, 주문 데모, 액세스 순서-데모는 낮은 수준 여러 번 호출 한 후, 다시 대시 보드 관련 데이터를 볼 수, 서비스의 제품 데모를 호출합니다.

 

  

 센티넬 콘솔에서 리소스에 액세스 한 후, 관련 자료, 실시간 모니터링 데이터가 있었다.

  2. 리소스 / 테스트 / testProductByName / 헥타르, QPS 2 제한, 다른 요청을 여러 번, 브라우저 표시 거부 제공 :   센티넬 (흐름 제한)에 막힘을

규칙 설정 :

             

 

 센티넬은 아래 그래프 안에 표시 :

 

 4. 요약

   센티넬은 기본적으로 매우 간단한 적응 프레임 워크, 적절한 어댑터에 대한 간단한 소개를 많이 할, AliCloud를 사용합니다. 특정 사용, 수있는 참조 wikii의 센티넬 : HTTPS : //github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5 

    그러나 생산 사용뿐만 아니라 적절한 추가 구성 및 변환이 후속 연구의 필요성.

추천

출처www.cnblogs.com/keep-code/p/11381618.html