2008-09-12 2 views
4

우리는 현재 클라이언트가 특정 데이터 요소에 대한 변경 사항에 관심을 요청하는 서버를 개발하고 있으며, 해당 데이터가 변경되면 서버가 클라이언트에 다시 데이터를 푸시합니다. 클라이언트가이 데이터를 폴링하는 것이 더 나은지 여부에 대한 작업에서 활발한 토론이 있습니다.가까운 실시간 자동화 서버를 밀거나 당깁니 까?

거의 실시간 환경에서 데이터 전송의 성능, 확장 성 및 네트워크 부하 측면에서 이상적인 방법으로 간주되는 것은 무엇입니까?

업데이트 : 다음은 UI 업데이트와 관련하여 생각할 음식을 제공하는 Link입니다.

답변

3

모든 상황에 이상적인 방법은 아니지만 일반적으로 푸시가 더 자주 사용되고 더 자주 사용됩니다. 서버 캐싱 및 데이터 전송을 최적화하여 성능 및 확장 성을 높이고 클라이언트 요청 및 빈 응답을 피함으로써 네트워크 트래픽을 약간 줄일 수 있습니다. 서버가 자체 속도로 작동하고 준비가되었을 때 고객에게 데이터를 제공하는 것이 중요한 이점이 될 수 있습니다.

업계 표준 - 예 : OPC, GID - 둘 다 지원합니다. 서버는 가입 한 클라이언트에 대한 업데이트를 푸시하지만 클라이언트는 거의 가입하지 않아도 거의 사용하지 않는 데이터를 가져올 수 있습니다.

1

클라이언트가 연결을 시작하면 (방화벽과 NAT 문제를 전달하기 위해) 어느 쪽이든 상관 없습니다.

보낼 필요가있는 여러 유형의 데이터가있는 경우 클라이언트에서 원하는 유형을 지정하도록 할 수 있지만 연결 당 한 번만 필요합니다. 그런 다음 서버에 업데이트가 계속 전송되도록 할 수 있습니다.

클라이언트가 계속 업데이트를 요청하지 않고도 서버가 업데이트를 보내지 않으면 네트워크 소통량이 줄어 듭니다.

0

고객 측에 어떤 점이 있습니까? 많은 방화벽은 나가는 요청을 허용하지만 들어오는 요청을 차단합니다. 즉, 전자 메일을 보내지 않는 한 인터넷을 넘는 경우 끌어 오기가 유일한 옵션 일 수 있습니다.

+0

우리는 자체 클라이언트 측 소프트웨어가 있으며이 단계에서 우리는 인터넷을 통해 작동하지 않습니다. – Darren

관련 문제