Skip to content

ankyeongeun/chat

 
 

Repository files navigation

chat project

Spring Boot Kotlin Spring Kafka Spring Cloud Netflix Eureka Client Resilience4j Spring Boot Freemarker Vue.js

Spring boot + websocket + Stomp를 사용한 채팅 서버 토이 프로젝트

실습 환경

프로젝트를 실행하기 위해서는 다음 사전 요구 사항이 필요:

  • Java 17 이상
  • MongoDB
  • Redis
  • Apache Kafka
  • Eureka Server (Eureka 서비스 디스커버리)

실습 내용

부하 테스트 및 서버 개선

동시 접속자 1,000명과 초당 트랜잭션 3,000건(TPS 3000) 가정한 부하 테스트를 진행

MSA 기반 아키텍처 디자인 패턴

MSA를 기반으로 한 아키텍처 디자인 패턴을 구현하고 테스트 진행

실시간 메시지 동기화 처리

Redis Pub-Sub 메커니즘을 활용하여 서버 간 실시간 메시지 동기화 처리를 구현

실시간 데이터 스트림 처리

Apache Kafka를 활용하여 실시간 데이터 스트림의 고속 처리 및 저장을 구현

접속 방법 및 인프라 구성

  1. Eureka 서버 시작

    • 채팅 서버는 Eureka Client로 등록되어 있음
    • Eureka 서비스 디스커버리를 사용하기 위해 Eureka 서버를 시작해야 함.
    • Eureka 서버를 시작하려면 다음 URL로 이동: https://github.com/kei-silver/eureka-server
  2. 채팅 서버 테스트 환경 구성

    • 채팅 서버를 테스트하려면 먼저 필수 인프라 구성을 위해 docker-compose.yml 파일을 실행
  3. 채팅 서버 구동

About

chat toy project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 96.9%
  • Dockerfile 3.1%