알아야 할 지식 (3) 썸네일형 리스트형 SSE(Server-Sent-Event) 캡스톤 디자인 프로젝트를 진행하면서 사용자에게 실시간 알림을 전달하는 기능을 구현하고자 다양한 방법을 조사하게 되었습니다. 그러던 중 SSE(Server-Sent Events)라는 기술을 알게 되었고, 이를 정리하며 공유하고자 합니다. 알림 기능 요구사항이번 프로젝트에서 구현하고자 하는 알림 기능은 다음과 같은 상황에서 사용자에게 알림을 보내야 합니다:사용자가 업체의 상품을 구매했을 때사용자가 구독한 업체에서 새로운 상품을 등록했을 때사용자의 등급이 올라갔을 때사용자가 업체에게 리뷰를 남겼을 때업체가 사용자의 리뷰에 답글을 남겼을 때 처음 생각해본 알림 구현 방식검색 전에 먼저 스스로 생각해본 방법은 두 가지였습니다:일정 시간마다 서버에 알림 여부를 요청하는 방식웹소켓(WebSocket)을 이용한 실시간.. UUID(Universally Unique IDentifier) 범용 고유 식별자 UUID란?범용 고유 식별자로 전 세계적으로 중복되지 않는 ID를 생성하기 위한 표준주로 분산 컴퓨팅 환경에서 사용되는 식별자입니다. UUID를 왜 사용할까?일반적인 로컬 환경이거나 중앙 관리 시스템이 있는 환경이라면 각 세션에 일련번호를 부여해줌으로써 유일성을 보장 받을 수 있지만 분산 컴퓨팅 시스템일 경우 개별 시스템이 id를 발급하더라도 유일성을 보장할 수 없습니다. 분산 컴퓨팅 시스템에서도 유일성을 보장받기 위해 UUID를 사용합니다. UUID의 구조128비트의 숫자 문자열이고 총 길이는 36자리입니다. 32개의 16진수 숫자가 4개의 하이픈으로 나누어진 8,4,4,4,12 형태입니다. 총 36자 → 32자리의 16진수 + 4개의 하이픈참고 : https://docs.tosspayments.. 메시징 시스템(Messaging System) 메시징 시스템이란?메시징 시스템은 발신자(Sender)와 수신자(Receiver) 간에 데이터를 메시지 형태로 교환하며, 어플리케이션 간 의존도를 낮추는 시스템입니다. 주로 비동기 통신을 지원하며, 실시간 데이터 스트리밍과 대규모 데이터 처리를 관리하는 데 사용됩니다. 메시징 시스템이 필요한 이유1. 동기적 통신의 한계기존 어플리케이션은 서로 직접 요청하고 직접 응답하는 구조였습니다. 이는 다음과 같은 문제가 있습니다.하나의 시스템이 장애를 겪으면 전체 시스템이 영향을 받는 강한 의존성이 발생API 호출 중 서버가 응답하지 않으면 요청한 어플리케이션이 대기 상태에 빠짐사용자 경험이 악화됨: 서버 응답 지연이 수 초만 발생해도 사용자 불만이 생김예시: 서버가 다운되거나 느린 응답을 보이면, 사용자들은 해.. 이전 1 다음