2009-10-28 8 views
0

현재 정기적으로 폴링되는 웹 서비스에서 작업하고 있습니다. 상태를 저장하지 않고 질의 될 때마다 인스턴스화됩니다. 본질적으로, 그것은 다른 외부 개체의 상태를 검색합니다. 데이터베이스로 전송하고 요청자에게 다시 전달합니다.두 가지 다른 서비스간에 데이터를 공유하는 방법

최근 상태를 저장할 필요가

  • 에서 일어 관련성 지속적 특정 소스로부터 데이터를 수집하고 중요한 비트를 저장할 필요/존재의 필요성이있다
  • alt text

    : 나는 다음과 같은 아이디어를 내놓았다

일정 기간 동안 특정 데이터 소스의 집계를 수집

여기에서 가장 중요한 관심사는 정적 클래스 (본질적으로 전역)를 사용하여 두 서비스간에 데이터를 공유한다는 점입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

편집 : 지금까지 답변 해 주셔서 감사합니다. 이 질문에 대한 사과는 여러 서비스에서 데이터를 공유하는 가장 좋은 방법을 찾아 내고 구체적 내용 (즉, 필요한 것)에 대해 확신 할 수 없도록하려는 것입니다. 내가 개발하고있는 플랫폼은 .NET 프레임 워크이며 두 서비스는 단순히 Windows 서비스로 호스팅되는 WCF 서비스입니다.

데이터베이스 경로는 가장 일반적인 방법과 같이 들리지만, 현재는 배포/설정 문제로 인해 그 경로로 이동하는 것을 꺼려합니다. 단순히 설치하는 것 외에도 새 테이블을 만들 필요성을 소개합니다. 소프트웨어)이 시점에서 상대적으로 적은 양의 데이터를 전송합니다. 이것은 물론 미래에 변경 될 수 있으며 데이터베이스 경로를 사용하는 것은 그 시점으로 갈 수있는 방법 일 수 있습니다.

데이터베이스 퍼시스턴스 레이어를 추가하는 것 외에 다른 방법이 있습니까?

+0

특정 언어 나 프레임 워크를 사용하고 있습니까? –

답변

0

물론 데이터 바인딩은 어떨까요? 나는 여기에 갈 많은 정보가 없다 - 당신의 플랫폼에 관해서는 그러나 충분히 발전된 시스템은 어떤 형태로 그것을 제공한다.

1

데이터를 수집하고 집계해야하는 경우 두 계층 사이에 데이터베이스를 사용하는 것이 좋습니다. 아니면 내가 잘못 이해 한거야?

더 많은 요구 사항으로 질문을 개선하는 것이 좋습니다. 모든 옵션이 거의 열려 있습니다.

0

정적 공유 데이터를 데이터베이스와 웹 서비스 사이에 캐싱 계층 (예 : memcached)으로 대체하여 대부분의 경우 캐시에서 데이터를 매우 빨리 사용할 수 있지만 필요에 따라 데이터베이스에서 검색합니다.

0

아키텍처를 단순하게 유지하고 싶습니다. 조회해야 할 항목의 크기와 영속성에 따라 파일 시스템이나 메시지 대기열을 활용할 수 있습니다. 파일 시스템을 원하는 것처럼 들리 겠지만 이는 파일 시스템에 미치는 영향이 가장 적기 때문입니다.

수만 개의 작은 파일을 다루기 시작하면 디렉토리를 탐색하기가 어려워지고 파일 조회가 느려질 수 있습니다. 일반적으로 디렉토리 당 약 1000-10000 개의 파일을 촬영하고 파일 이름 패턴에 따라 파일 경로를 생성 할 수있는 루틴을 작성합니다.하위 디렉토리의 수를 유지하는 것이 중요합니다. 일부 파일 시스템의 경우 상위 디렉토리에 limit on the number of subdirectories이 있습니다.

관련 문제