2012-12-06 5 views
1

현재 우리는 SOAP 또는보다 일반적인 HTTP REST 형 접근 방식을 사용하여 웹 API를 만들었습니다. 동시에 서버와 클라이언트가 독립적으로 어느 정도 진화 할 수있는 여러 가지 방법이 있습니다. 이것이 큰 이점이라고 생각합니다.WCF NetTcp 바인딩이 커플 링을 증가합니까?

주요 단점 중 하나는 HTTP 사용과 관련하여 약간의 오버 헤드가 있다는 것입니다. 우리는 응용 프로그램 대신 데이터를 노출하여 데이터베이스에 직접 액세스하는 서비스 API 사용을 늘릴 계획입니다. 우리는 HTTP를 사용하는 데 너무 많은 오버 헤드가 관련되어 대기 시간이 길어질 것이라고 걱정합니다. 물론 우리는 캐싱을 사용할 수 있지만 복잡성이 증가합니다.

하나의 제안은 WCF NetTcp 바인딩을 사용하는 것입니다.이 바인딩은 훨씬 더 성능이 좋다고합니다. 우리가이 기술을 선택한다면 서버와 클라이언트를 독립적으로 발전시킬 수있는 REST의 이점을 누릴 수 있습니다. 나는 우리가 단단한 커플 링의 비용으로 성능을 향상시킬 것이라고 생각합니다.

제 질문은 다음과 같습니다 : WCP NetTcp 바인딩을 사용하여 모든 클라이언트를 업데이트하지 않고도 API를 발전시킬 수 있습니까? 즉,이 바인딩을 사용할 때 클라이언트와 서버간에 어느 정도의 결합을 기대할 수 있습니까?

답변

1

우리는 HTTP를 사용하여 너무 많은 오버 헤드를 포함하고이 지연 하나의 제안을 증가 할 것으로 우려하고 누구는 말한다

훨씬 더 확대됨에 있어야하는데 바인딩 WCF NetTcp을 사용하는 것입니다 그? TCP가 성능을 어떻게 향상 시킬지는 모르겠으므로 벤치 마크를 보여달라고 요청하십시오. 물론 바이너리 프로토콜을 사용하지만, 서버의 비즈니스 로직은 실제 전송이 아닌 병목 현상 일 가능성이 큽니다. 필요한 경우 나중에의 확장 도움이 될 것입니다 인프라를 사용할 준비가 많은이 이미 있기 때문에

HTTP가 훨씬 더

0

(로드 밸런싱, 캐시 프록시 등처럼) 나는 당신이 사용하려는 바인딩 생각 누가 서비스의 소비자인지에 달려 있습니다. 특정 바인딩을 사용하여 REST HTTP 클라이언트 또는 SOAP를 사용하는 클라이언트가 이미있는 경우 Net TCP로 전환해도 이미 해당 서비스를 사용하는 모든 클라이언트에 대한 서비스 업데이트가 필요합니다. HTTP는 이미 많은 인프라를 사용할 수 있으므로 바인딩을 전환하는 데 많은 가치가 없습니다.

관련 문제