dubbo 는 어떤 통신 프로 토 콜 을 지원 합 니까?어떤 직렬 화 프로 토 콜 을 지원 합 니까?Hessian 의 데이터 구 조 를 말 해 볼 까요?PB 알 아 요?왜 PB 의 효율 이 가장 높 습 니까?

2705 단어 분포 식
면접 문제
dubbo 는 어떤 통신 프로 토 콜 을 지원 합 니까?어떤 직렬 화 프로 토 콜 을 지원 합 니까?Hessian 의 데이터 구 조 를 말 해 볼 까요?PB 알 아 요?왜 PB 의 효율 이 가장 높 습 니까?
면접 관 심리 분석
이전 문 제 는 dubbo 의 기본 적 인 작업 원 리 를 말 해 보 세 요. 그것 은 당신 이 반드시 알 아야 할 것 입 니 다. 적어도 dubbo 가 어떤 층 으로 나 뉘 는 지 알 아야 합 니 다. 그리고 평소에 rpc 요청 을 어떻게 하 는 지, 등록, 발견, 호출 등 은 기본 적 인 것 입 니 다.
이어서 밑바닥 에 대해 깊이 있 게 물 어 볼 수 있다. 예 를 들 어 첫 번 째 단 계 는 서열 화 협의 라 는 것 을 먼저 물 어 볼 수 있다. 바로 평소에 RPC 를 할 때 어떻게 갔 는 지?
면접 문제 분석.
직렬 화 는 데이터 구조 나 일부 대상 을 바 이 너 리 문자열 로 바 꾸 는 과정 이 고 반 직렬 화 는 직렬 화 과정 에서 생 성 된 바 이 너 리 문자열 을 데이터 구조 나 대상 으로 바 꾸 는 과정 이다.
dubbo 는 서로 다른 통신 프로 토 콜 을 지원 합 니 다.
  • dubbo 협의
  • 기본 값 은 dubbo 프로 토 콜 입 니 다. 단일 장 연결 은 NIO 비동기 통신 을 하고 hessian 을 기반 으로 직렬 화 프로 토 콜 을 진행 합 니 다.사용 하 는 장면 은 전송 데 이 터 량 이 적 고 (매번 요청 은 100 kb 이내) 동시 다발 량 이 높다 는 것 이다.
    높 은 동시 다발 장면 을 지원 하기 위해 보통 서비스 제공 자 는 몇 대의 기계 이지 만 서비스 소비 자 는 수백 대 에 달 하고 매일 호출 량 이 억 번 에 달 할 수 있 습 니 다!이때 긴 연결 이 가장 적합 하 다. 모든 서비스 소비자 와 긴 연결 을 유지 하면 되 고 총 100 개의 연결 이 가능 하 다.그리고 뒤에 긴 연결 NIO 비동기 통신 을 기반 으로 높 은 병행 요청 을 지탱 할 수 있 습 니 다.
    긴 연결, 쉽게 말 하면 연결 을 만 든 후에 요청 을 계속 보 낼 수 있 고 더 이상 연결 을 만 들 필요 가 없다 는 것 이다.
    짧 은 연결 은 요청 을 보 내기 전에 연결 을 다시 만들어 야 합 니 다.
  • rmi 협의
  • 자바 바 이 너 리 직렬 화, 여러 개의 짧 은 연결 로 소비자 와 공급 자의 수량 차이 가 많 지 않 은 경우 에 적합 하 며 파일 전송 에 적용 되 며 일반적으로 적 게 사용 된다.
  • hessian 협의
  • hessian 직렬 화 프로 토 콜 을 걸 으 면 여러 개의 짧 은 연결 이 소비자 수량 보다 공급 자 수량 이 많은 경우 에 적용 되 고 파일 의 전송 에 적용 되 며 일반적으로 적 게 사용 된다.
  • http 프로 토 콜
  • json 서열 화.
  • webservice

  • SOAP 텍스트 서열 화.
    dubbo 가 지원 하 는 직렬 화 프로 토 콜
    dubbo 는 hession, 자바 바 이 너 리 직렬 화, json, SOAP 텍스트 직렬 화 등 다양한 직렬 화 프로 토 콜 을 지원 합 니 다.그러나 hessian 은 기본 적 인 직렬 화 프로 토 콜 이다.
    Hessian 의 데이터 구 조 를 말 해 주세요.
    Hessian 의 대상 서열 화 메커니즘 은 8 가지 원시 유형 이 있다.
  • 원본 바 이 너 리 데이터
  • boolean
  • 64 - bit date (64 비트 밀리초 값 의 날짜)
  • 64-bit double
  • 32-bit int
  • 64-bit long
  • null
  • UTF - 8 인 코딩 string
  • 또한 3 가지 재 귀 유형 도 포함한다.
  • list for lists and arrays
  • map for maps and dictionaries
  • object for objects

  • 또 하나의 특수 한 유형 이 있다.
  • ref: 공유 대상 에 대한 인용 을 나타 낸다.

  • 왜 PB 의 효율 이 가장 높 습 니까?
    이 가능 하 다, ~ 할 수 있다,...  JSON  or  XML  데이터 저장 형식  Protocal Buffer  아직 낯 설 어 요.Protocal Buffer  사실은 Google 제품 의 경 량 적 이 고 효율 적 인 구조 화 된 데이터 저장 형식, 성능 비  JSONXML  많이 높 아야 돼.
    사실 PB 의 성능 이 이렇게 좋 은 이 유 는 주로 두 가지 덕분 입 니 다. 첫째, proto 컴 파일 러 를 사용 하여 자동 으로 직렬 화 와 반 직렬 화 를 진행 합 니 다. 속도 가 매우 빠 르 고 비교 해 야 합 니 다.  XML  화해시키다  JSON  곧 올 라 갑 니 다.  20~100  배;둘째, 데이터 압축 효과 가 좋다. 즉, 직렬 화 된 데이터 의 부피 가 작다 는 것 이다.부피 가 작 기 때문에 전송 대역 폭 과 속도 가 최적화 된다.

    좋은 웹페이지 즐겨찾기