문제

클라이언트 서버 시스템에 대한 REST 아키텍처를 사용하는 사람들이 더 보이지 않는 이유는 무엇입니까? 소켓, TIBCO RV 또는 EMS 또는 MQ를 사용하는 사람들이 보이지만 기본적인 REST 아키텍처를 많이 보지 못했습니다.

풋 / 낮은 대기 시간을 통해 클라이언트 / 서버 통신을 위해이 아키텍처를 사용하지 않는 이유를 아는 사람이 있습니까?

도움이 되었습니까?

해결책

나는 반드시 그것을 피할 것이라는 것을 모르겠지만, 높은 지연 시간이 적은 대기 시간 서비스를 위해 그것을 선택하지 않을 수있는 몇 가지 이유를 생각할 수 있습니다. 먼저, 귀하의 서비스에 메시지를 받으려면 전체 웹 스택을 처리해야합니다. 이것은 메시지를 지연시키는 많은 불필요한 계층과 서비스를 소개 할 수 있습니다. 사용자 정의 서비스는 서비스 자체가 요구하는 프로토콜 계층 만 지원하면됩니다.

둘째, 서비스가 웹 서버에서 호스팅되는 유일한 서비스가 아닌 한, 메시지를위한 다른 요청과 경쟁 할 것입니다. 서비스에 대한 사용자 정의 엔드 포인트가 있으면 모든 자원 경합 문제를 해결하지는 않지만 적어도 다른 서비스에서 엔드 포인트로 액세스하기 위해 경쟁 할 필요는 없습니다.

셋째, 사용자 정의 프로토콜은 실제 서비스 관련 프로토콜 정보 만 지원하면 추가 HTTP 프로토콜 오버 헤드를 지원할 필요가 없기 때문에 패킷 크기가 더 작을 수 있습니다. 이것은 특히 헤더 정보가 메시지 크기의 더 큰 비율이 될 것이므로 작은 메시지를 교환하는 프로토콜에 영향을 미칩니다.

다른 팁

휴식은 모든 문제에 적합하지는 않습니다.

휴식이 가장 좋습니다 자원 관리. 클라이언트-서버 시스템과 마찬가지로 웹 서비스를 작성하는 경우 언어-비기능 데이터 표현, 인수 검증, 클라이언트/서버 코드 생성, 오류 처리, 액세스 컨트롤과 같은 것을 원합니다. 휴식은 기본적으로 직접 코딩해야합니다.

반면에 HTTP 층을 추가합니다. 프록시, 캐싱 등의 원활한 통합이 발생하지만 HTTP 헤더, 웹 서버 프론트 엔드 등으로 인해 약간의 속도가 손실됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top