원격 통신 네트워크의 기본 메커니즘을 이해할 필요가없는 사이에 RPC (원격 프로 시저 호출) 원격 프로 시저 호출은, 주로 통신 문제를 해결합니다.
RPC 프레임 워크
높은 가시성 드리프트가 (FB의), 두보 (알리).
RPC는 일반적으로 네 단계를 통해 이동 :
1 통신을 설정
먼저 기본적으로 클라이언트와 서버 사이에 TCP 연결을 설정하여 통신 연결을 설정해야합니다, B를 호출 할 기계 기계 : 우리는 제 1 통신의 문제를 해결해야합니다.
주소 2. 서비스
문제는 서버 B (예, 호스트 또는 IP 주소)와 특정 포트의 이름으로 서버 A를 연결하는 방법, 해결 해결하기 위해, 방법 예.
(3) 네트워크 전송
1) 서열
서버 A의 애플리케이션이 RPC 호출을 시작하면, 데이터 호출 방법 및 파라미터는 직렬화 될 필요가있다.
2) 역 직렬화
서버가 서버의 정보와 필요한 파라미터 도킹 B A 요청을 수신하면 상기 수신 동작을 역 직렬화.
4, 서비스 호출
(프록시 프록시를 통해) 서버 B에 대한 로컬 호출이 리턴 값을 획득하고 다시 서버 (A)에 보내진다 이때 요구되는 값을 반환하도록 한 후, 또한 일련의 작업을 거쳐야하고 네트워크를 통해 이진 데이터 전송 서버 A.로 다시 보내진다
일반적으로, 전체 PRC는 위의 네 단계를 거쳐야 호출합니다.
은 MQ (메시지 큐)
메시지 큐 (MQ)는 통신 모델은 일반적으로 소비자 단방향 통신에 제조자를 가능하게하는 미들웨어를 달성하는 모델을 의미한다.
일반적인 MQ 미들웨어 :
RabbitMQ, ActiveMQ를, 카프카 等
일반적인 특징 :
1 디커플링
2, 신뢰할 수있는 배달
3, 방송
(4) 최종 일관성
5 패스 흐름
6, 메시지 전달 보증
7, 비동기 통신 (지원 동기)
8, 시스템 처리량을 향상, 견고성
일반적인 사용 시나리오 : 트래픽 클리핑, 비즈니스 스파이크 사용 MQ에서 디커플링 사용의 적용을 달성했다.
그리고 RPC 및 관련 MQ의 차이
아키텍처 1. RPC와 차이 점 MQ는 메시지의 중간 노드가 메시지 큐를 가지고있다, 메시지는 저장 될 수있다.
2. 동기 호출 즉시 처리 결과를 기다릴 현장 반환 RPC가 바람직하다.
3.MQ 사용, 하나는 서버가 신속한 클라이언트 응답하지 수 같은 성능 고려 사항을 기반으로 (또는 클라이언트는 실시간 응답을 필요로하지 않습니다), 큐에 캐시 할 필요가있다.
한편, 데이터의 전송에 더 집중하므로보다 다양한 방법이며, 점 이외에 간행물 및 기타 기능 구독있다.
4. 비즈니스 성장 및 병목 몇 가지 처리 단말기 처리 능력, 동기 호출 비동기 호, MQ를 사용하는 것이이 시간으로 변환한다.