11장 2

11장. 결제 시스템

결제 시스템이란?위키백과에 따르면 "금전적 가치의 이전을 통해 금융 거래를 정산하는데 사용되는 모든 시스템"이다.1단계: 설계 범위1. 기능 요구사항대금 수신(pay-in) 흐름: 결제 시스템이 판매자를 대신하여 고객으로부터 대금을 수령한다.대금 정산(pay-out) 흐름: 결제 시스템이 전 세계의 판매자에게 제품 판매 대금을 송금한다.2. 비기능 요구사항신뢰성 및 내결함성: 결제 실패는 신중하게 처리해야 한다.내부 서비스와 외부서비스 간의 조정 프로세스: 시스템 간의 결제 정보가 일치하는지 비동기적으로 확인한다.3. 개략적인 규모 추정하루에 100만건의 트랜잭션을 처리해야 한다.이는 초당 10건의 트랙잭션(TPS)이다.일반적인 데이터베이스로 별 문제 없이 처리 가능한 양이다.2단계: 개략적 설계안결제 ..

11장. 뉴스 피드 시스템 설계

뉴스 피드란?=> 뉴스피드는 홈 페이지 중앙에 지속적으로 업데이트되는 스토리들로, 사용자 상태 정보 업데이터, 사진, 비디오, 링크, 앱 활동 그리고 페이스북에서 팔로하는 사람들, 페이지, 또는 그룹으로부터 나오는 '좋아요' 등을 포함한다.  개략적 설계피드발행 뉴스피드생성 두 가지 부분으로 설계피드 발행사용자가 스토리를 포스팅하면 해당 데이터를 캐시와 데이터베이스에 기록한다. 새 포스팅은 친구의 뉴스 피드에도 전송한다.뉴스 피드 생성지면 관계상 뉴스 피드는 모든 친구의 포스팅을 시간 흐름 역순으로 모아서 만든다고 가정한다. 뉴스 피드 API클라이언트가 서버와 통신하기 위해 사용하는 수단이다.HTTP 프로토콜 기반, 상태 정보를 업데이트, 뉴스 피드를 가져오거나, 친구를 추가하는 등의 작업을 수행그 중 ..