SWU: Share With Us(new version of 혼자왔니)
spring boot
, web socket
, redis(cache)
, kafka(pub/sub)
준비 사항: redis
, kafka
가 설치 되어 있어야 합니다.
- Build jar
총 2번 빌드해줘야합니다.
build.gradle과 application-local.yml 파일을 각각 수정하여 server_1용, server_2용 빌드 파일을 각각 만들어줍니다.- build.gradle 파일
bootJar { // archiveFileName은 생성될 build 파일의 이름입니다. archiveFileName = "chatdemo-foo.jar" // server 1 // archiveFileName = "chatdemo-boo.jar" // server 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
- build.gradle 파일
- Run Redis Server
redis-server
- Run Kafka Server
# kafka가 설치된 경로에서 수행해주세요. # zookeeper 실행 ./bin/zookeeper-server-start.sh ./config/zookeeper.properties # kafka 실행 ./bin/kafka-server-start.sh ./config/server.properties
- 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
- Web Browser
# server 1 localhost:{port_num_1}/chat/room # server 2 localhost:{port_num_2}/chat/room
- 채팅방 개설
![](https://private-user-images.githubusercontent.com/98803599/238201694-2eccf576-ff99-40d5-9ed3-bb3914a2cc02.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1MTcwNjMsIm5iZiI6MTczOTUxNjc2MywicGF0aCI6Ii85ODgwMzU5OS8yMzgyMDE2OTQtMmVjY2Y1NzYtZmY5OS00MGQ1LTllZDMtYmIzOTE0YTJjYzAyLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTQlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE0VDA3MDYwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTNiMjhjNDE0OTY2MTc5MGFjZmFjM2Y2NDIwNjgxYzYxNTgxMTBlM2NkMmRhYmQ2YjgxM2Y1NGY3MzllNDg5M2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0._17gZ31UUEmctly37mqu3Y-PXQoH5HBSZcauyQaoX7o)