212
2
부
구현
한 다양한 소프트웨어 개발 키트 (
SDK
) 중 하나만 사용하게 된다. 하지만 이러한
SDK
는 더
큰 커뮤니티가 만들거나
API
로 작업하지 않는
AWS
내부의 사람이 만든다. 이 정도 수준의 분
리는 문제없이 동작할 것이며 클라이언트 라이브러리에서 나타나는 몇 가지 함정을 피할 수 있
다. 업그레이드할 시점을 클라이언트가 담당하는 것도 분명 잘 동작하는 이유 중 일부다. 클라
이언트 라이브러리의 길을 직접 가겠다면, 이 점을 반드시 확인하라.
넷플릭스는 클라이언트 라이브러리를 특히 강조하지만, 사람들은 순전히 코드 중복을 피한다
는 관점으로만 볼 우려가 있다. 실제로 넷플릭스에서 사용하는 클라이언트 라이브러리는 시스
템의 안정성과 확장성을 보장하는 것 이상으로 중요한 역할을 한다. 넷플릭스 클라이언트 라이
브러리는 서비스 디스커버리, 실패 모드, 로깅과 더불어 실제로 서비스 자체의 특성과는 무관
한 다른 측면을 처리한다. 이러한 공유 클라이언트가 없으면 넷플릭스가 운영되는 클라이언트/
서버 통신의 각 부분이 제대로 작동하는지 확신하기 어렵다. 넷플릭스는 이 라이브러리를 사용
해 시스템의 정상 동작을 보장하는 동시에 쉽게 시작하거나 실행하고 생산성을 확실히 높일 수
있었다. 하지만 넷플릭스 관계자에 따르면, 시간이 지남에 따라 클라이언트와 서버 간에 어느
정도 결합이 이뤄지면서 문제가 발생했다고 한다.
클라이언트 라이브러리 방식을 고려하고 있다면 대상 서비스 그 자체에 관련된 것과 서비스 디
스커버리 및 실패 등을 다루는 하부 전송 ...