Spring WebFlux를 이용한 chat 프로그램 - 환경구성

2025. 5. 1. 14:57JAVA/Spring Boot

갑자기 webflux를 통해서 chat 프로그램을 짜보고 싶었다.

chatgpt의 도움을 받아 시작...

먼저 생각하는 구성은 아래와 같이 구성 예정이다.

백엔드

Spring Boot + WebFlux
WebSocket 서버
PostgreSQL (회원/채팅로그 등)
MongoDB (채팅 메시지 저장)

프론트엔드

React(Vite 기반)
TailwindCss
Axios
WebSocket 클라이언트

 

Docker 설치

먼저 DB(Postgresql, MongoDB)를 사용하기 위해 Docker을 설치한다.
https://docs.docker.com/desktop/setup/install/windows-install/

 

Windows

Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.

docs.docker.com

설치 후 Docker를 실행하면 나 같은 경우에는 아래 오류가 발생했다.

wsl update failed : ... wsl.exe C:\WINDOWS\System32\wsl.exe --update --web-download

해결방법으로는 위의 설명처럼 wsl --update 해 주고 윈도우를 다시 시작 하면 된다.

 

Docker에 Postgresql 설치

cmd를 관리자 모드로 시작하고

docker pull postgres

docker run -d --name postgres -e POSTGRES_PASSWORD=12345 -p 5432:5432 postgres

위의 두 줄을 실행 시키면 docker에 설치가 된다.

기본 아이디는 postgres이고 비밀번호는 입력한 12345로 로그인을 하면 된다.

 

Docker에 MongoDB 설치

동일하게 cmd를 관리자 모드로 시작하고

docker pull mongo

docker run -d --name mongodb -p 27917:27017 -e MONG_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=12345 mongo

위와 같이 입력하면 설치가 완료 된다.

 

Docker 확인

Docker 엔진에서 위와 같이 확인을 할 수 있다.


맘먹고 문서를 작성하고자 할 때... 하필이면 컴퓨터를 바꿔서 빈 깡통이라 node부터 설치를 다 해줘야 했다.
그런김에 첨부터 아예 빈깡통 부터 시작해서 작성하기로 했다.

node 설치

https://nodejs.org/ko/download

 

Node.js — Node.js® 다운로드

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

nodejs를 먼저 다운 받아 설치한다.

설치가 완료 되면 설치 확인을 한다.

> node -v
v22.15.0

> npm -v
10.9.2

 

1차는여기까지...