Skip to content

대용량 트래픽 대비 시나리오 - Docker와 Jenkins를 이용한 CICD & 부하 분산을 위한 MySQL Slave,Master Redis Slave,Master,Sentinel

Notifications You must be signed in to change notification settings

kwonjonny/board-aop-redis-docker-jenkins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📁 board-aop-redis-docker

  • 고객사의 요청에 따라 대용량 트래픽을 감당할수 있는 서비스를 개발하는 프로젝트
  • 웹 UI는 JSP 프론트엔드 부분은 최소화 백엔드에 초점을 맞춰 개발에 집중

📌 개발중점

  • 단순 기능 구현 뿐 아니라 코드의 재사용성유지보수성을 고려하여 구현하는 것을 목표로 개발
  • 확장성을 위한 객체지향의 기본 원리 DIP, OCP 준수
  • Spring framework의 IOC/DI , AOP의 활용
  • 라이브러리 및 기능 추가 시 이유있는 선택과 사용 목적 고려
  • key-value 형태로 구성된 Redis 처리로 서비스 응답 속도 향상
  • Runtime Exception 예외처리 선정과 그 종류에 따른 Http Status 응답 고려
  • 대용량 트래픽을 고려한 응답 속도 향상 구현
  • 차후 유지보수를 고려한자바독 주석 커밋
  • 서버 부하 분산을 위한Master Slave MySQL Docker 적용
  • 기능 검증을 위한 Controller, Service, Mapper 테스트 커버리지 100% 달성
  • 🔧 사용 기술

    Category Content
    Language Java 17
    Framework Spring Boot 3.1.3
    RDBMS MySQL 8.0.x
    SQL Mapper Mybatis
    Session Server Redis
    Web Server Nginx
    Container Docker
    API Documentation Swagger Springdoc OpenAPI 2.1.0
    Boilerplate Code Library Lombok
    IDE IntelliJ IDEA, Vs Code

    📺 Web Application UI Application UI Application UI

    💾 ERD

    ERD 이미지

    📃 SpringDoc OpenAPI 2.1.0 Swagger 1 Swaager 2 Swaager 3

    💻 주요 기능

    👉 각 기능별 비지니스 로직
    👉 각 기능별 Use Case

    👥 사용자

    • 회원가입, 탈퇴
    • 로그인, 로그아웃
    • 마이페이지, 정보수정
    • 자유게시판 등록, 수정, 삭제
    • 댓글 대댓글 등록, 수정, 삭제
    • 좋아요 기능
    • 통합검색 기능, 날짜검색 기능
    • 조회수 기능

    💂‍♂️ 관리자

    • 전체회원 조회
    • 전체 공지사항 통합검색 기능, 날쩌검색 기능
    • 서비스 관리를 위한 일/월 통계 데이터 기능
    • 회원 관리를 위한 공지사항 탑앤배너(게시글 상단 고정 기능)

    About

    대용량 트래픽 대비 시나리오 - Docker와 Jenkins를 이용한 CICD & 부하 분산을 위한 MySQL Slave,Master Redis Slave,Master,Sentinel

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published