SSE 활용한 AI Streaming Chat 구현 (w. React) - 2탄: 웹 챗 구현➡️ 1탄: 서버 구현 [SpringBoot/Kotlin] SSE 활용한 AI Streaming Chat 구현 (w. React)SSE 활용한 AI Streaming Chat 구현 (w. React) - 1탄: 서버 구현미리보기전체 코드는 아래에!Spring Boot와 SSE를 활용하여 AI Streaming Chat 서비스를 구현하였다.사실 채팅 스트리밍을 구현하기 위한 다양한 언doteloper.tistory.com미리보기이번 포스팅은 저번 서버 구현을 받는 웹 채팅에 관련된 코드이다.사실 이번 프로젝트의 프론트 담당은 “GPT”였다.따라서 설명의 한계가 있으므로, 중요한 실시간 응답 처리만 간단히 설명하고 ..
SSE 활용한 AI Streaming Chat 구현 (w. React) - 1탄: 서버 구현미리보기전체 코드는 아래에!Spring Boot와 SSE를 활용하여 AI Streaming Chat 서비스를 구현하였다.사실 채팅 스트리밍을 구현하기 위한 다양한 언어, 기술이 많지만 현업에서 사용하는 언어와 SSE를 경험하고 싶어 해당 기술스택을 활용하였다.(즉, 스트리밍 채팅을 구현하기 위한 기술 스택은 다양하므로 상황과 조건에 맞게 사용하길 바란다.)SSE(Server-Sent-Event)란?클라이언트가 서버로부터 단방향 스트리밍 데이터를 받을 수 있도록 지원하는 기술이다.단방향 통신: 서버에서 클라이언트로만 데이터를 전송할 수 있음HTTP 기반: 기존 HTTP 프로토콜을 사용하기 때문에 방화벽 및 프록시 환..
Microservices Pattern: Pattern: Transactional outboxFirst, write the message/event to a database OUTBOX table as part of the transaction that updates business objects, and then publish it to a message broker.microservices.ioContextMSA 환경에서는 도메인에 대한 생성, 수정, 삭제 이벤트가 일어났을 때, 이를 메세지 브로커를 통해서 다른 분산 서버에 전송해야하는 일이 발생한다.하지만, 데이터베이스와 메세지 브로커를 아우르는 전통적인 분산 트랜잭션(2PC, 2-Phase Commit)을 사용하는 것은 현실적으로 불가능하다. 데..
JVM 프로세스와 스레드애플리케이션이 실행되는 과정JVM이 프로세스 시작메인 스레드 생성`main` 함수 내부의 코드들을 수행`main` 함수 내부의 코드가 모두 실행되면 애플리케이션 종료💡 JVM 프로세스는 기본적으로 메인 스레드를 단일 스레드로 해서 실행되며 메인 스레드가 종료되면 종료됨 단일 스레드의 한계와 멀티 스레드 프로그래밍단일 스레드의 한계해야 할 작업이 다른 작업에 의해 방해받거나 작업 속도가 느려질 수 있음 → 응답성의 문제멀티 스레드 프로그래밍병렬 처리(Parallel Processing)스레드를 여러개 사용해 작업을 처리하는 프로그래밍 기법메인 스레드에 오래 걸리는 작업이 요청됐을 때, 이 작업을 백그라운드 스레드에서 처리하도록 함✔️ 작은 작업 간에 독립성이 있을 때에만 병렬 실행..