두보 RPC 프레임 워크 +의 springboot

RPC 연구 노트

기본 네트워크 기술의 개념을 이해 할 필요없이 네트워크를 통해 원격 컴퓨터의 서비스에 대한 요청입니다 원격 프로 시저 호출 원격 프로 시저 호출.

RPC는 기술 아이디어와 규격이 아닙니다 또는 프로토콜, 일반 RPC 기술 및 프레임 워크입니다 :

  • 응용 프로그램 수준의 서비스 프레임 워크 : 알리 두보 / Dubbox, 구글 gRPC, 스핑 부팅 / 스핑 클라우드
  • 원격 통신 프로토콜 : RMI, 소켓, SOAP HTTP (XML) REST (HTTP JSON)
  • 통신 프레임 워크 : MINA와의 Netty

두보

보행이 RPC 자바 경량 프레임을 열고, 고성능이고, 하단의 Netty 보통 사육사와 함께 사용 기반. 그것은 세 가지 핵심 기능을 제공합니다 :

  • 원격 메소드 호출의 인터페이스
  • 지능형 부하 분산 및 내결함성
  • 셀프 서비스 등록 및 검색

주요 핵심 구성 요소 :

  1. 리모팅 : 네트워크 통신 프레임 워크 동기화 오버 비동기 메시지 및 요청 - 응답 메커니즘을 달성
  2. 원격 추상화 RPC 호출 지원, 균형 재해 복구과 능력을 클러스터링로드합니다.
  3. 레지스트리 서비스 카탈로그 프레임 워크, 게시 및 가입 서비스에 대한 등록 및 서비스 이벤트.

그것이 작동하는 방법 :

  • 제공자 노출 서비스 제공 업체는 "서비스 제공자"라고합니다
  • 소비자 원격 서비스 호출 파티 "서비스 소비자"라는
  • 레지스트리 서비스 등록 및 검색 센터, "서비스 레지스트리"라는 디렉토리 서비스
  • "서비스 센터를 모니터링"라고 통화 및 통화 기록 서비스 시간의 B 모니터 통계 번호,
  • 용기를 실행 컨테이너 서비스

두보 기술 아키텍처

 

게시 가입 과정

  1. 시작 컨테이너,로드, 실행 서비스 제공
  2. 당신이 시작할 때 서비스 제공자는 서비스를 게시하는 것은 레지스트리에 자신의 등록을 제공하는
  3. 그들이 필요로하는 레지스트리 구독 서비스에서 시작시 소비자 서비스

당신은 실패의 경우를 고려하거나 변경해야하는 경우 다음 절차를 고려할 필요가

  1. 변경 사항이있는 경우 레지스트리는 레지스트리는 소비자에게 긴 연결 푸시 데이터에 따라 변경되며, 소비자에 대한 서비스 제공 업체의 목록을 반환합니다.
  2. 서비스 소비자는 주소 목록, 부드러운로드 밸런싱 알고리즘에서 제공 업체, 호출이 실패 할 경우, 다음 다른 통화를 선택, 공급자 호출을 선택합니다.
  3. 통화 및 통화 시간의 누적 수를 메모리에 서비스 소비자와 공급자는, 시간은 모니터링 센터로 분 통계 자료에 한 번 보냈다.

두보 외에도 인 Netty와 큐레이터 의존도를 의존해야합니다.

두보 SpringBoot

치어 의존 기준

두보 점프 스타터 보트

사육사 의존 com.101tec zkclient 소개

@Service은, 주석에 두보 서비스를 노출된다, 서비스 스프링 선택하지 마십시오

@구성 요소

봄 플러스 시작 클래스 개방 두보 코멘트에서

@EnableDubboconfigration

@SpringbootApplication

소비 @Reference 주석을 사용하는 경우

참조해야

<그룹> io.dubbo.spring.boot </ 그룹> 

<artifactId를> 스프링 부팅 스타터 두보 </ artifactId를>

봄 부팅

springboot 새로운 봄은 개발 프로세스 초기 셋업을 단순화하는 데 사용됩니다.

 SpringBoot 프레임 워크 두 가지 중요한 전략이있다 : 상자와 규칙 중 구성을 통해. 상자, Outofbox 중, 개체의 수명주기를 관리하기 위해 해당 주석 대신 지루한 XML 구성 파일을 사용하여 다음 치어 파일 Maven 프로젝트에 종속 패키지를 추가하고,에 의해, 개발 과정을 의미한다. 이 기능은 개발자가 복잡한 구성 및 의존성 관리, 비즈니스 로직에 더 초점이 작업 할 수 있습니다. 구성을 통해 협약이 협약이 구성을 통해, 대상 구조가 SpringBoot 자체로 구성되어, 개발자에 의해 구조에서 정보의 소프트웨어 디자인 패러다임을 추가합니다. 이 기능은 유연성 있지만 감소 BUG 위치의 복잡성을 증가하지만 자동화 할 수 있습니다, XML 구성의 양, 코드 컴파일을 줄이고 테스트 작업을 포장하면서 개발자의 수가 결정을 내리는 데 필요한 감소 .

 

 

추천

출처www.cnblogs.com/minzhao/p/12501210.html