Pinterest의 확장 과정은 4단계로 나눌 수 있다:
자신을 찾는 시대: 작은 엔지니어링 팀이 빠르게 프로토타이핑하고 제품 요구사항을 발전시켰다.
실험의 시대: 사용자 수가 폭발적으로 증가하면서 다양한 기술을 채택했지만, 복잡하고 취약한 시스템이 되었다.
성숙의 시대: MySQL, Memcache, Redis 등 성숙하고 확장 가능한 기술에 집중하며 아키텍처를 단순화했다. 새로운 기술을 추가하기보다는 잘 작동하는 것에 투자했다.
성장의 시대: 적절한 아키텍처를 갖추고 수평적으로 확장하며 성장 궤도를 이어갔다.
Pinterest는 안정성, 확장성, 관리 용이성을 고려해 MySQL, Memcache, Redis를 핵심 기술로 선택했다. 데이터베이스 확장을 위해 샤딩 방식을 채택했는데, 이는 클러스터링 방식보다 단순하고 관리하기 쉬웠다.
샤딩 도입 과정에서 데이터 마이그레이션, 애플리케이션 로직 변경, 스키마 수정 등의 과제를 해결해야 했다. 하지만 이를 통해 확장성과 안정성을 확보할 수 있었다.
Pinterest의 사례는 단순하고 잘 이해된 기술을 선택하고, 확장성을 우선순위에 두며, 수평적 확장이 가능한 아키텍처를 설계하는 것이 중요함을 보여준다.
To Another Language
from source content
medium.com
Key Insights Distilled From
by at medium.com 05-15-2024
https://medium.com/codex/how-pinterest-scaled-to-11-million-users-with-only-6-engineers-a0f62cea62b8Deeper Inquiries