새로운 내용을 공부할 때
새로운 내용의 공부를 시작할 때 용어의 정의를 이해하지 못하거나 정확하게 알지 못한다면 그 용어가 포함된 문장을 이해하지 못합니다.
작은 단어 하나가 내용을 이해하지 못하게 하기 때문에 용어를 정확하게 이해하는 것이 중요합니다.
자바의 신 복습 및 회원가입 로직 단축
주제
- 비동기
내용
지금까지 작성한 백엔드 서버 코드는 사용자의 요청 결과를 즉시 보여줘야 하는 작업을 주로 하다 보니 모두 동기식으로 작성되었습니다.
이번 프로젝트중 회원 등록 프로세스도 동일하게 작성했었습니다.
- 회원 존재 확인
- 외부 네트워크 API - A
- 외부 네트워크 API - B
- 외부 네트워크 API - C
- A, B, C 중 하나라도 실패 시 회원 등록 실패 반환
- 회사 데이터베이스에 회원 등록 요청했다고 마킹 처리
오늘 프로젝트 시연할 때 제가 만든 회원 등록 프로세스가 5~6초 정도 걸렸습니다.
다른 개발자 분들은 외부 API 통신 때문에 그럴 수 있다고 넘어갔지만,
집에 와서 생각해보니 사용자에게 결과를 보여 줄 필요는 없었습니다.
회원 등록 결과를 별도로 확인하는 페이지가 별도로 있었기 때문에 그걸 활용해보자고 생각했습니다.
집에서 비동기 처리를 테스트해보니 1초 내외로 약 4초 정도가 줄었습니다.
먼저 동작 방식을 반대로 바꿔서 우리 데이터베이스에는 모두 정상 등록되었다고 업데이트를 합니다.
이후 비동기로 외부 네트워크 결과에 따라 방금 저장한 회원의 상태를 변경하는 방식으로 변경했습니다.
아쉬운건 백엔드 서버 언어가 코틀린이니 코프링도 한번 적용해보려고 했는데, 버전이 낮아서 사용할 수 없어서 적용할 수 없었습니다.
댓글남기기