websocket 의존성 추가build.gradlesocket 통신은 서버와 클라이언트가 1:N → 서버에는 여러 클라이언트가 발송한 메세지를 받아 처리해줄 Handler 필요 WebSocketChatHandler.java클라이언트 메세지 송신WebSocketCon
클라이언트 서버에 접속 → 개별적으로 WebSocket session 가지게 됨채팅방에 클라이언트의 session 정보 저장서버에 전달된 메세지를 채팅방의 sessionList로 발송ChatMessage.java클라이언트 메세지 DTOChatRoom.java채팅방
stomp 추가sockjs : websocket을 지원하지 않는 낮은 버전의 브라우저에서도 websocket 사용할 수 있도록webjar : 채팅 웹 화면 구현 관련 js 로드freemarker, vue.js : 프론트 웹 개발build.gradlestatic 파일 개
채팅방 만들기 까지 됐지만 채팅방 상세화면으로 넘어갈 때 아래와 같은 에러 발생 시도 1기존 roomdetail.html수정 1 \- 라이브러리 버전 삭제시도 2기존 roomdetail.html수정 2 \- 라이브러리 버전 build.gradle과 맞추
다른 Redis Java 클라이언트에 비해 가벼움적은 기능을 제공하지만 많은 양의 메모리 처리 가능동기 통신 지원Jedis pool 이용하면 멀티 스레드 환경에서 동작 가능 (모든 풀이 사용 중일 경우 요청과 응답 사이 블로킹이 발생해 어느 정도의 유휴상태에 빠질 수
에러 메세지🚨 DefaultSerializer requires a Serializable payload but received an object of type ~ChatRoom~ChatRoom을 만들고 redis에 저장할 때 위와 같은 에러 발생Redis 는 data
메모리 기반의 저장소로 데이터에 접근하는 속도가 빠름다양한 type의 아키텍처를 지원함String, Hash, List, Set, Sorted Set, Map 등의 구조 활용 가능데이터를 분할하여 여러 서버에 분산 저장, 처리할 수 있음데이터가 휘발성이라 서버 재시작이