"노이즈 이웃" 해결하기: 샤드 아키텍처가 멀티 테넌트... 노트

"노이즈 이웃" 해결하기: 샤드 아키텍처가 멀티 테넌트 플랫폼을 보호하는 방법

SaaS 제공업체 및 기업에서 사용하는 것과 같은 공유 인프라 환경은 "노이즈 이웃" 문제에 취약합니다. 단일 테넌트의 집중적인 데이터 활동이나 실패한 데이터베이스는 모든 사용자에게 성능 저하를 유발하여 백로그 및 SLA 위반으로 이어질 수 있습니다. 모든 데이터가 단일 스트림을 통해 흐르는 레거시 모놀리식 아키텍처는 이 문제를 악화시킵니다. 이는 하나의 데이터베이스 장애가 모든 처리를 중단시킬 수 있음을 의미하며, 최악의 시나리오에 대한 비효율적인 확장이 필요합니다. 한 테넌트의 높은 볼륨이 전체 시스템에 영향을 미칠 때 안정적인 SLA를 유지하는 것은 거의 불가능해집니다.해결책은 샤딩된 허브 앤 스포크 아키텍처로, 처리를 라우팅을 위한 중앙 허브와 실행을 위한 격리된 스포크로 분리합니다. 경량 Dataflow 작업인 허브는 트래픽 컨트롤러 역할을 하여 테넌트 ID를 파싱하고 데이터를 격리된 버퍼로 분산시킵니다. 내구성 있는 Pub/Sub 토픽으로 구현된 이러한 버퍼는 느린 다운스트림 싱크가 원본 소스에 영향을 미치는 것을 방지합니다. 스포크는 고우선순위, 공유 티어 또는 도메인별 파이프라인과 같은 워크로드별로 분류된 여러 개의 작은 Dataflow 인스턴스로 구성됩니다. 이러한 격리는 실패의 파급 효과를 100%에서 5% 미만으로 크게 줄입니다. 또한 모놀리식 시스템의 비효율적인 최악의 시나리오 확장과 달리 테넌트 부하에 따라 독립적인 확장을 허용합니다. 한 도메인에 대한 업데이트가 다른 도메인에 반드시 영향을 미치지 않으므로 유지 관리가 더 안전해집니다. Dead Letter Queue, 엄격한 연결 풀링 및 비동기 I/O와 같은 추가 최적화는 안정성을 더욱 향상시키고 파이프라인 중단을 방지합니다. 이 샤딩된 접근 방식을 채택함으로써 플랫폼은 노이즈 이웃 위협을 제거하고 엄격한 SLA를 보장하며 더 안전한 배포를 가능하게 할 수 있습니다.
CdXz5zHNQW_wDjs5eoArR.png