카테고리 없음
비동기 방식의 백엔드
포금이
2024. 9. 10. 18:22
온라인 이미지 편집 웹사이트를 기획 중이다
프론트는 오픈소스 코드를 참고할 예정이고 api 명세를 보던중
프론트가 작업의 완료 여부를 왜 백엔드에 알려야 하는것인지?
동기 비동기 형식이 무엇인지?
궁금해서 찾아보았다
작업의 완료 여부를 백엔드에 알려야 하는 이유는 비동기적 작업이기 때문에 클라이언트와 백엔드간의 상호작용을 관리하고, 데이터의 일관성과 정확성을 유지하기 위함 이다
동기 작업 방식 (Synchronous)
- 순차적으로 진행됨
- 하나의 작업이 완료될 때 까지 다음 작업을 시작하지 않음
- 따라서 각 작업은 전 작업이 완료될 때까지 기다려야 함
백엔드와의 상호작용
- 동기 작업에선 클라이언트가 서버에 요청을 보내고, 서버는 작업을 완료한 후 응답을 반환
- 클라이언트는 서버의 응답을 받을 때 까지 기다리므로 다음 작업을 수행하지 않음
- 따라서 완료 백엔드의 여부를 클라이언트에 알릴 필요가 없음 서버 응답이 오면 작업 완료로 간주하기 때문
비동기 작업 방식 (Asynchronous)
- 작업을 요청한 후, 해당 작업이 완료될 때까지 기다리지 않고 다른 작업을 병행함
- 서버에 요청을 보낸 후에도 클라이언트는 계속해서 다른작업을 수행하며 작업이 완료되면 서버가 클라이언트에 결과를 알려줌
백엔드와의 상호작용
- 비동기 작업에선 클라이언트가 서버에 요청을 보낸 후 응답을 받지 않아도 다른 작업을 수행할 수 있기 때문에 서버가 요청을 처리하고 작업이 완료되었는지 여부를 클라이언트에 알려야 함
- 예) 이미지가 성공적으로 캔버스에 추가되었는지, 네트워크 오류가 발생했는지, 이미지로드에 실패했는지 등을 클라이언트가 알 수 있어야 함