우테캠 회고- 안정적인 서비스 만들기

김병호·2021년 7월 18일
0

지난 인프라 미션에서 내가 만든 서비스를 진단하는 작업을 했다. 문제점을 파악했으니 이제 고쳐나가는 미션이다.

먼저 손댄 것은 Reverse Proxy 작업이었다. Nginx를 통해 서버 이중화 작업, 캐싱, 특히 HTTP2 적용을 하면서 서비스 퍼포먼스가 정말 좋아졌다!! WAS에서도 정적자원 캐싱을 작업하면서 성능을 개선하고자 했다.

REDIS를 적용하면서 성능 향상 효과를 많이봤다. 자주 사용되는 기능들에 레디스의 캐시된 내용을 사용하니 서비스 속도가 매우 빨라졌다. 감동이다. 전 미션에서 JPA 최적화 작업을 많이 했지만 인프라의 지원을 받으니 더욱 날개를 단 느낌이다.


https://sehajyang.github.io/2019/12/11/how-to-operate-redis/

이후 페이징 작업을 하였다.

@Query("SELECT * FROM subway.programmer WHERE subway.programmer.id >= ?1")
List<User> findAll(Pageable pg);

디비 이중화를 하였다. 이중화를 통해 조회작업을 하는 DB, CREATE, UPDATE DB로 분리하여 성능 최적화 작업을 해보았다. 여기에서 DB 마이그레이션 작업이 필요했는데 이전 미션에 FLYWAY를 정리해두어 쉽게 마이그레이션을 진행할 수 있었다.

쿼리 최적화는 이것만 해도 책 한권분량이 나올 것같다. 미션에서는 비록 간단한 것들이었지만 쿼리를 작성하고 인덱스 적용과 성능 최적화 작업들을 하였다.
이번에 리뷰어님이 소개한 인덱스 설정 글이 기억에 남는다.

오랜만에 쿼리를 작성한다고 앉아서 많이 고민했다 :D

이것으로 모든 미션이 끝났다. 9주동안 몰입해서 미션을 진행했다. 오늘은 푹쉬자.

profile
노력하는 개발자입니다!

0개의 댓글