2009-05-29 4 views
0

매우 높은로드 읽기/쓰기 시스템 때문에 메모리 내 서비스를 설계해야한다고합니다. 2 분마다 개체의 결과를 덤프하고 싶습니다. 웹 애플리케이션 내에서 메모리 내 객체/데이터에 어떻게 액세스합니까?웹 응용 프로그램에서 메모리 내 서비스에 어떻게 액세스합니까?

내가 가장 빠른 해결책을 원하는

(I Windows 서비스가 메모리 서비스 등을 처리하는 백그라운드에서 실행됩니다 생각했다), 그리고 대부분의 사람들이 사용에게 웹 서비스를 말할 것 같아요 것인가? 다른 옵션에는 어떤 것이 있습니까? 난 그냥 어떻게 Windows 서비스의 개체 등을 연결할 수 이해할 수 없다.

(왜 내가 이것을하고 싶지 묻지 마라, 아마 당신 말이 맞아 나쁜 생각이지만 나는 또한 호기심이있다. 이러한 형태의 아키텍처이 가능합니다.)

업데이트

이 사이트 swoopo.com 나는 경매의 끝 부분에 안타를 많이 가지고 있다고 생각 것이라고보고 있지만, 경매 유지하기 때문에 재설정되었다 데이타베이스에 대한 히트는 단지 미친 짓일 것입니다. 그래서 그들은 메모리에서 그것을 수행하여 매 x 분마다 db로 버려지면 생각하고있었습니다 ...

답변

0

소켓, 파이프 등과 같은 모든 원격 기술이 작동합니다.

체크 아웃 : www.remobjects.com

1

당신이 외관의 프론트 엔드로, 캐시라고 설명하고 있습니다.

변경 사항을 커밋하고 데이터 집합을 획득하는 외관을 작성합니다. Facade는 읽기 및 쓰기를 대기열에 넣고 대기열이 가득 차거나 일정 시간이 지나면 커밋합니다. 웹 응용 프로그램은 데이터 (facade)에 대한 단일 액세스 지점을 가지며, 파사드는 너무 자주 쓰고 읽지 않도록 구성되어 있습니다.

대부분의 관계형 데이터베이스 관리 시스템이이 작업을 수행합니다. 이들은 이런 종류의 최적화와 대기열을 내부적으로 수행하므로 다른 레이어를 쓰면 속도가 느려집니다. 따라서 RDBMS를 사용하는 경우 캐시를 작성하지 마십시오.

이러한 facade에 액세스하는 구체적인 사항은 객체로 취급하고 원하는대로 구현할 수 있습니다 (자체 스레드, 스레드 풀, 웹 서비스, Windows 서비스 등).

0

Remoting 또는 WCF를 사용하여 Windows 서비스 개체에 연결할 수 있으며 두 프로세스 모두 매우 빠른 프로세스 간 통신을 제공합니다. 소켓도 빠르지 만 WCF에 비해 프로그래밍하기가 더 복잡합니다. WCF 문서 및 온라인 지원이 많이 있습니다.

데이터베이스는 사용자를 위해 일정 수준의 캐싱을 제공합니다. 당신이 제안한 메모리와 같은 황금 메모리의 이점은 요청이 들어 왔을 때 디스크에서 읽지 않아도되고 IIS와 동일한 컴퓨터에서 호스트 할 수 있다는 것입니다. 여분의 네트워크 홉 (hop)이 없으므로 db를 쿼리하는 것보다 훨씬 빠릅니다. 그러나이 방법의 단점은 부하 분산을 위해 시스템을 추가해야하는 경우 확장되지 않는다는 것입니다.

TIBCO와 같은 타사 메시징 공급자도 살펴볼 가치가 있습니다.

관련 문제