담배200 : 공동 편집과 권한 관리를 지원하는 담배 검수 도구

1.담배200 프로젝트 소개 및 아키텍처

post-thumbnail

2.예외란 무엇이며, 스프링부트에서 예외를 간단하게 처리하는 필살기 (@ControllerAdvice, @ExceptionHandler, 트리구조의 예외 상속, @Valid)

post-thumbnail

3.서버 Scale-out에 대비해, 세션 정보를 DB에 중앙화해 저장함으로써 서버를 Stateless하게 유지

post-thumbnail

4.실시간 공동 편집을 이벤트 기반의 STOMP 소켓통신으로 구현

post-thumbnail

5.STOMP 예외처리하는 방법(HTTP와 일관된 예외처리, 연결해제하지 않고 에러응답 보내기, 권한검사 인터셉터 예외 처리)

post-thumbnail

6.서비스 코드가 통신방식에 종속되지 않도록 DTO Wrapping

post-thumbnail

7.Redis hash 자료구조를 이용해 탐색시간 줄이기

post-thumbnail

8.간편하게 캐시와 DB를 연계 활용하는 캐시 모듈 제작 🔥

post-thumbnail

9.캐시에 저장 로드할 때 리플렉션으로 DTO‐Entity 변환

post-thumbnail

10.레디스 트랜잭션 적용 방법 (@Transactional, SessionCallback, LuaScript)

post-thumbnail

11.쓰기스큐 방지를 위해 분산락 AOP 적용 🔥

post-thumbnail

12.Redis Pipeline으로 Bulk Insert 시 네트워크 병목 개선

post-thumbnail

13.동적 스케줄링을 통한 캐시 Write back으로 DB 통신 횟수 줄이기 🔥

post-thumbnail

14.캐시와 세션별로 Redis 서버 분리 및 eviction, maxmeory 최적화

post-thumbnail

15.nginx(로드밸런싱) 적용하면서 CORS, hop by hop 헤더, 정적리소스 반환 문제 해결

post-thumbnail

16.Jenkins와 Docker, nginx를 이용한 자동 무중단 배포 🔥

post-thumbnail

17.성능테스트를 통한 서버 튜닝으로 핵심 요청 TPS 239 -> 4292 (스케일업 아웃, 커넥션풀, 스레드풀, 레플리케이션) 🔥

post-thumbnail

18.DB 레플리케이션으로 병목 완화

post-thumbnail