본문 바로가기

확장성2

Cloud Native의 구성요소 - 출처: 클라우드 네이티브 GO - 매튜 A. 티트뮤스 지음 - 확장성 (Scaleability) 요청량이 급격하게 증가했을 때 대응하는 시스템의 능력을 말한다. 수직적 확장(Vertical scaling, Scale up): 시스템의 할당된 하드웨어 자원을 늘리는것을 말한다. 예를 들어 DB 서버의 경우 성능 향상을 위해 메모리를 늘린다면 이는 수직적 확장에 해당한다. 직관적이고 관리가 쉽지만 요청량이 아주 커지면 한계점이 존재한다. 수평적 확장(Horizontal scaling, Scale out: 인스턴스를 추가하는 방식을 말한다. 늘어난 요청량을 처리하기 위해 장비 Node를 늘린다면 이는 수평적 확장에 해당한다. 관리가 어렵지만 서비스 규모가 아주 커진다면 수평적 확장은 피할 수 없다. 수평적.. 2023. 10. 10.
DDIA - 신뢰성,확장성,유지보수성 - 확장성 - 이 글은 마틴 클레프만의 데이터 중심 애플리케이션 설계를 기반으로 작성되었습니다. - 개요 어떤 시스템이 현재 안정적이라고 해서 미래에도 안정적이라는 보장은 없다. 이런 경우 보통 성능이 달라져서 문제가 되는데 성능이 달라지는 주요 Issue 는 부하가 증가되는것이다. 확장성이라는 것은 증가되는 부하에 대처하는 시스템의 능력이라고 할 수 있다. 프로젝트를 진행하다보면 설계자나 PM 들은 흔히 'A 시스템(모듈)은 확장 가능하다.', 'B 시스템(모듈)은 확장성이 없다.' 와 같은 말을 많이 한다. 하지만 이런 말들은 확장성을 논하는데에 아무런 도움이 되지 않는다. 확장성을 논할때에는 '시스템이 특정 방향으로 커지면 이에 대처하기 위한 선택은 무엇인가?' 와 같은 사고방식으로 접근해야 한다. - 부하기.. 2021. 10. 19.