우리는 기존 비즈니스 로직/데이터 액세스 계층을 대체 할 "중간 계층"을 개발 중입니다. 우리가 직면 한 디자인 문제 중 하나는 여러 고객의 데이터베이스 및/또는 중간 계층 조각이 호스팅 된 제품의 일부인 동일한 서버에 존재할 수 있도록 설계해야한다는 것입니다. 호스트 된 환경을위한 데이터베이스 스키마와 설정은 이미 생산 단계에 있기 때문에이 시점에서 상당히 정교하게 설정됩니다. 기본적으로 호스팅 된 환경의 특정 DB 서버에서 각 고객은 고유 고객 ID를 사용하여 이름이 지정된 SQL Server 인스턴스를 갖습니다.멀티 테넌트 중간 계층 아키텍처
웹 서비스, 비즈니스 로직 및 각 고객의 데이터베이스에 대한 데이터 액세스를 통해 클라이언트 응용 프로그램에서 개별 경로를 가질 것인지 여부를 결정하려고하거나 단일 공유 인스턴스 각 조각의 데이터 액세스 계층은 올바른 SQL Server 인스턴스 또는 그 둘 사이의 데이터를 가져 오는 역할을 담당합니다. 모든 것을위한 단일 공유 경로를 사용하면 하나의 조각이 떨어지면 모든 클라이언트가 액세스하므로 모든 물에 잠겨 있습니다. 다른 한편, 각 고객에 대한 개별 경로가 있으면 과장되어있을뿐만 아니라 유지 관리가 더 필요하십니까?
[Client]--| |--[DB]
[Client]--| |--[DB]
|--> [Web Service] --> [Business Logic] --> [Data Access] ----|
[Client]--| |--[DB]
[Client]--| |--[DB]
또는이 : (옵션 사이에서 - 또는 무엇) 다음의
[Client] --> [Web Service] --> [Business Logic] --> [Data Access] --> [DB]
[Client] --> [Web Service] --> [Business Logic] --> [Data Access] --> [DB]
[Client] --> [Web Service] --> [Business Logic] --> [Data Access] --> [DB]
[Client] --> [Web Service] --> [Business Logic] --> [Data Access] --> [DB]
하나 더 이유가 될 것입니다 여기에 끔찍한 ASCII 아트 우리가 고려하고있는 두 가지 옵션 중 사진입니까?
답변 해 주셔서 감사합니다. 우리는 실제로 두 번째로 끝났습니다. 우리가 필요로하는 많은 맞춤식 물건이 있었기 때문에가 아니라, 그것이 우리가 가고있는 것에 더 잘 맞았 기 때문입니다. 당신이 당신의 대답을 듣기를 기다리기에 너무 아팠 으면 좋겠다. – Zannjaminderson