08. 분산 시스템의 골칫거리 결국 엔지니어로서의 우리의 임무는 모든 게 잘못되더라도 제 역할을 해내는 시스템을 구축하는 것이다. (p274) 네트워크 관련 문제 시계 및 타이밍 문제 결함과 부분 장애 분산 시스템에서는 시스템의 어떤 부분은 잘 동작하지만 다른 부분은 예측할 수 없는 방식으로 고장나는 것도 무리가 아니다. 이를 부분 장애라고 한다. (p275) 클라우드 컴퓨팅과 슈퍼컴퓨팅 클라우드 컴퓨팅 (cf. 슈퍼컴퓨팅) 언제라도 사용자에게 지연 시간이 낮은 서비스를 제공해야 함 (온라인) 규모의 경제 덕에 낮은 비용으로 동일한 성능을 제공하지만 실패율도 높음 IP와 이더넷을 기반으로 하며 높은 양단 대역폭을 제공하기 위해 클로스 토폴로지로 연결돼 있음 시스템이 커질수록 구성 요소 중 하나가 고장날 ..
04. 부호화와 발전 p113-114 대부분의 경우 애플리케이션 기능을 변경하려면 저장하는 데이터도 변경해야 한다. 서버 측 애플리케이션에서는 한 번에 몇 개의 노드에 새 버전을 배포하고 새로운 버전이 원활하게 실행되는지 확인한 다음 서서히 모든 노드에서 실행되게 하는 순회식 업그레이드(rolling upgrade) 방식이 있다. 클라이언트 측 애플리케이션은 사용자에 전적으로 좌우된다. 이것은 예전 버전의 코드와 새로운 버전의 코드, 이전의 데이터 타입과 새로운 데이터 타입이 어쩌면 모든 시스템에 동시에 공존할 수 있다는 의미다. 시스템이 계속 원활하게 실행되게 하려면 양방향으로 호환성을 유지해야 한다. 하위 호환성 : 새로운 코드는 예전 코드가 기록한 데이터를 읽을 수 있어야 한다. 상위 호환성 : 예..
- Total
- Today
- Yesterday