hi-june / chat-demo

채팅 기능 구현을 위한 데모 프로젝트

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SWU 채팅 기능을 구현하기 위한 데모 프로젝트입니다.

SWU: Share With Us(new version of 혼자왔니)

Tech Stacks

spring boot, web socket, redis(cache), kafka(pub/sub)

How to Run on Local

준비 사항: redis, kafka가 설치 되어 있어야 합니다.

  1. Build jar
    총 2번 빌드해줘야합니다.
    build.gradle과 application-local.yml 파일을 각각 수정하여 server_1용, server_2용 빌드 파일을 각각 만들어줍니다.
    1. build.gradle 파일
      bootJar {   // archiveFileName은 생성될 build 파일의 이름입니다.  
      archiveFileName = "chatdemo-foo.jar"	// server 1
      // archiveFileName = "chatdemo-boo.jar"	// server 2
      }
    2. application-local.yml
      spring:
         kafka:
            bootstrap-servers: localhost:9092
            consumer:
               group-id: foo # server 1
               # group-id: boo # server 2
            template:
               default-topic: chatroom
         redis:
            host: localhost
            port: 6379
     ./gradlew bootJar
  2. Run Redis Server
    redis-server
  3. Run Kafka Server
    # kafka가 설치된 경로에서 수행해주세요.
    
    # zookeeper 실행
    ./bin/zookeeper-server-start.sh ./config/zookeeper.properties
    
    # kafka 실행
    ./bin/kafka-server-start.sh ./config/server.properties
  4. Run Chat Servers
    # build file path: ~/build/libs
    
    # server 1
    java -jar -Dserver.port={port_num_1} chatdemo-foo.jar
    
    # server 2
    java -jar -Dserver.port={port_num_2} chatdemo-boo.jar
  5. Web Browser
    # server 1
    localhost:{port_num_1}/chat/room
    
    # server 2
    localhost:{port_num_2}/chat/room
    

Images

  1. 채팅방 개설

2. 채팅

About

채팅 기능 구현을 위한 데모 프로젝트


Languages

Language:Java 64.8%Language:FreeMarker 35.2%