더북(TheBook)

사용자가 애플리케이션으로 새 트윗을 만들면 서비스 내에서는 다음 절차를 따라 트윗을 처리합니다.

1. 클라이언트는 트윗 내용(content), 사용자 ID(userId), 미디어 파일(옵셔널)을 포함하여 POST /tweets 엔드포인트로 요청을 보냅니다.

2. 클라이언트가 보낸 요청이 트윗 서비스에 도달하면 즉시 유효성 검사를 수행합니다. 트윗 길이에 대한 검증이나 사용자 인증 같은 필수 유효성 검사를 수행합니다.

3. 트윗에 미디어 파일이 포함되면 해당 파일을 객체 저장소에 업로드하고 고유 식별자를 만들어 가져옵니다.

4. 이후 기본 키로 사용할 트윗 ID를 만들어 트윗 데이터(트윗 내용, 사용자 ID, 타임스탬프, 미디어 참조)와 같이 데이터베이스에 저장합니다.

5. 새롭게 만든 트윗 객체를 클라이언트에 응답 값으로 반환합니다.

6. 마지막으로 5.에서 만든 트윗 객체의 메시지를 트윗 ID를 포함하여 아파치 카프카 같은 메시지 큐에 전달(발행)하면 타임라인 서비스나 검색 서비스가 이를 받아 메시지를 처리합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.