2012-10-16 3 views
1
)

내 애플리케이션에 SOA를 구현하고 싶습니다. 이 서비스는 여러 수준의 서비스로 구성됩니다 (수준 1은 최상위 수준 서비스이고 수준 2는 수준 1 서비스에 필요한 서비스 임). 일부 낮은 수준의 서비스는 액세스 가능성이 높으므로 트래픽이 최상위 수준의 서비스와 비교하여 밀도가 높아집니다.서비스 간 비 균일 트래픽 (

이 아키텍처에서 최상의 성능을 얻기 위해이 비 균일 트래픽에 대처하는 인텔리전트 라우팅이나 알고리즘 또는 기술과 같은 방법이 있습니까?

답변

1

서비스에 대한 레이어를 잘못 인식하는 것 같습니다. 서비스는 (상대적으로) 많은 오버 헤드 (직렬화, 비 ​​직렬화, 보안 (인증, 권한 부여, 아마도 암호화), 네트워크 등)를 발생 시킨다는 점에 유의하십시오. (nano-services 안티 패턴 참조)

귀하의 질문에 - 서비스의 사본을 여러 개 배치하고 외부에 상태 (캐시, db 등)를 저장하고로드 밸런서를 앞에 두십시오.

+0

제안 주셔서 감사드립니다. 나는 이전에 내가로드 밸런서라고하는 것을 몰랐던 동일한 개념을 생각하고있었습니다 ... –

+0

또 다른 옵션은 중간에 대기열을 배치하고 그 대기열에서 끌어 당기는 작업자 인스턴스를 갖는 것입니다 . 그런 다음 서비스 당 인스턴스 수를 다르게 할 수 있습니다 (분리 된 호출 http://arnon.me/soa-patterns/decoupled-invocation/ 및 서비스 인스턴스 http://arnon.me/soa-patterns/service-instance/ patterns 참조).) –

관련 문제