구조 및 배경 :
현재 시스템이 있는데, 일반적인 B/S와는 구조가 다릅니다. 즉, 맨 아래에 레이어가 있습니다(레이어라고 하지만 실제로는 별도의 프로그램입니다). 레이어는 winform입니다. 프로그램, 이를 표현하기 위해 "exchange"를 사용하겠습니다. 주로 "외부"와 통신하고 일부 정보를 보내고 받고 처리하는 데 사용됩니다. 자세한 내용은 제공되지 않습니다.
그러면 시스템의 현재 구조는 다음과 같습니다.
클라이언트--웹 서버(프레젠테이션 계층--논리 계층--데이터 액세스 계층)--데이터베이스--교환-외부적으로
일부 "실시간" 통신이 어느 시점에서 필요합니다. 물론 실시간입니다. CS처럼 "클라이언트"의 타이머일 뿐이므로) "외부"에서 보낸 데이터는 적시에 "클라이언트"에 표시될 수 있습니다. " 또는 "클라이언트"가 보낸 데이터를 적시에 "클라이언트"에 보낼 수 있습니다. 외부". 우리는 이것을 '실시간 커뮤니케이션'이라고 부릅니다. 대부분의 경우 "외부" 데이터는 나중에 사용하기 위해 "교환"을 통해 데이터베이스에 직접 저장됩니다.
현재 두 가지 옵션이 있다.
첫째, '실시간 통신'인지 '상시 통신'인지, 외부에서 받은 모든 데이터를 데이터베이스로 '교환'하고, 클라이언트는 정기적으로 웹 서버로 가고, 웹 서버는 데이터베이스로 이동하여 데이터를 가져온 다음 반환합니다. 클라이언트의 데이터도 데이터베이스로 직접 전송된 다음 "교환"하여 데이터를 읽고 "외부"로 전달됩니다. 구체적으로는 위의 선 그림입니다.
모든 데이터가 대량의 데이터 교환 및 테이블 작업을 포함하여 데이터베이스를 통과하기 때문에 데이터베이스에 대한 요구 사항이 더 높습니다. SQL2005가 이를 견딜 수 있는지 모르겠습니다.
2. "실시간 통신"의 경우 "스위칭" 계층을 원격 서버로 사용하고, 웹 서버를 원격 클라이언트로 사용합니다. 즉, 웹 서버는 "exchange" 프로그램과 직접 통신합니다. 이때 데이터는 "exchange" 프로그램이 위치한 컴퓨터의 메모리에 저장되며 클라이언트는 여전히 정기적으로 웹 서버를 찾습니다. . "정기 통신"은 여전히 첫 번째 방법으로 처리됩니다. 구체적인 구조는 웹 서버가 "교환"과 직접 통신할 수 있도록 위 줄에 분기를 추가하는 것입니다. 필요한 경우(즉, "실시간 통신" 동안) 데이터가 이 분기를 통과합니다.
이 접근 방식에 문제가 있나요? 나는 원격에 익숙하지 않고 그러한 구조의 성능이 무엇인지 전혀 모릅니다.
차이점:
이 두 가지 방법 사이에는 "정기적인 통신" 부분의 구조에는 아무런 문제가 없습니다. 핵심은 '실시간 통신' 부분이다. 간단히 말해서 데이터가 데이터베이스에서 오는지, 아니면 웹 서버가 '교환'과 직접 통신하는지를 의미한다.
이제 우리는 어떤 종류의 구조를 채택할지 고려해야 합니다. 요구 사항은 다음과 같습니다.
하나의 서버가 너무 많은 압력을 받아서는 안 되며, 그렇지 않으면 시스템이 이를 견딜 수 없습니다. ("외부" 동시성 양이 매우 큽니다.)
"실시간 통신" 부분에 대한 성능 요구 사항이 매우 높습니다.
참고:
BS 구조가 결정되었으므로 변경할 수 없습니다. (회사의 이전 프로젝트는 C/S였으며 현재는 B/S로 전환하려고 합니다.)
두 번째 하드웨어에는 문제가 없으며 각 조각은 별도의 고사양 서버입니다.
셋째, '교환' 부분에 대해 다들 명확하게 이해하지 못할 수도 있다. 사실 많은 기능을 담당하고 부담감도 매우 클 것이다. 물론 별도의 서버이기도 합니다.
일부 구성은 기본적으로 다음과 같습니다: Windows2003, MS-SQL2005, VS2005 등은 모두 엔터프라이즈 버전입니다.
질문:
위의 방법 1과 2 중 어느 것이 구조적 성능이 더 좋나요? (주로 "실시간" 부분의 성능을 고려하여 지금은 다른 이야기는 하지 않겠습니다.)
2. 다른 가능한 구조가 있나요? 아니면 기술?
3. 일부 내용이 명확하지 않을 수 있습니다. 메시지를 남겨주시면 최대한 빨리 답변해 드리겠습니다.
4. GPS 측위를 하는 친구가 있나요? 연락처를 남겨주시고 궁금한 점을 문의해주세요.