본문 바로가기

취미/용어

Sync, async-response, async 간단한 설명

반응형
Sync (동기)
  • 한 번에 한 가지 작업만 수행: 마치 택배를 기다리며 다른 일을 못 하고 서 있는 것처럼, Sync 방식은 한 작업이 완료되어야 다음 작업을 시작합니다.
  • 순차적인 실행: 작업들이 순서대로 진행됩니다.
  • 간단한 구조: 이해하기 쉽고 구현이 간단합니다.
  • 단점: 한 작업이 오래 걸리면 전체 프로그램이 멈출 수 있습니다. 예를 들어, 느린 네트워크 환경에서 데이터를 가져오는 작업이 길어지면 사용자가 다른 작업을 할 수 없게 됩니다.

 

async-response (비동기 응답)
  • 동시에 여러 작업 수행: 마치 택배가 오기 전에 다른 일을 하면서 택배 도착 알림을 기다리는 것처럼, async-response 방식은 여러 작업을 동시에 진행할 수 있습니다.
  • 이벤트 기반: 특정 이벤트가 발생하면 해당 작업을 처리하는 방식입니다.
  • 효율성: 사용자 경험을 향상하고 시스템 자원을 효율적으로 활용할 수 있습니다.
  • 복잡성: Sync 방식에 비해 구현이 복잡할 수 있습니다.

 

async (비동기)
  • 단방향 통신: 한쪽에서 다른 쪽으로 데이터를 보내는 방식입니다.
  • 서버에서 클라이언트로 데이터 전송: 주로 서버에서 클라이언트로 데이터를 푸시하는 방식으로 사용됩니다.
  • 실시간 업데이트: 실시간으로 데이터를 업데이트해야 하는 경우에 유용합니다. (예: 채팅, 스트리밍)

 

간단히 정리하면
  • Sync: 한 번에 한 가지 일만, 순서대로 처리
  • async-response: 여러 가지 일을 동시에 처리, 이벤트 기반
  • async: 서버에서 클라이언트로 데이터를 보내는 단방향 통신

 

어떤 방식을 사용해야 할까요?
  • 빠른 응답이 필요한 경우: async-response 방식을 사용하여 사용자 경험을 향상할 수 있습니다.
  • 실시간 업데이트가 필요한 경우: async 방식을 사용하여 실시간 데이터를 전달할 수 있습니다.
  • 간단한 로직이고 성능이 크게 중요하지 않은 경우: Sync 방식을 사용하여 구현을 간단하게 할 수 있습니다.
반응형