항해 12주차. 이번 주는 Scale Out으로 서버를 확장하고 오토스케일링을 적용하는 데 집중했다. 서버 확장과 저번주에 적용했던 Redis 적용으로 인해 성능이 많이 개선되었으나 아직 좀 더 개선할 수 있어 보인다. 다음주에도 화이팅!
서비스는 복잡해질수록 책임 분리를 잘 해야한다.
new로 객체 만들면 mock이 아니다. 가짜 허수아비 객체를 만들어야한다. 전부 싹다 mock이 되어야한다. 필요한 것만 정의해서 테스트하면 된다.
springboottest는 통합테스트 나머지는 싹 다 mock.
유닛테스트 말고 통합테스트에서 test용 환경을 만들고 실제 객체를 사용해야 한다.
부하 테스트에선 단일 서버하나가 부하를 얼마나 버틸수있나가 제일 중요하다.
지표는 latency와 tps로 설명이 다 가능하다.
목표는 50K 요청에서 서버2대로 300ms 까지
병목이 어디인지 찾아야 아마 db일것(유저?)
로컬 캐시도 도입. 캐시의 캐시로(변동되지 않는 데이터).
ec2 램사용율
가비지컬렉션 메트릭
ec2 쓰레드 관련 지표들 톰캣 쓰레드 갯수
캐시 hit miss ratio 같은 지표를 확인해 봐라.
서버 로드밸런서 db elasticache 이렇게 그루핑을 해두면 좋다
자바와 스프링 본질의 깊이가 중요하다
jpa 학습을 하는데 n+1 해결 방법 3개
각각 케이스마다 써야할 환경이 다른데
ai한테는 물어봐도 정확하게 답변 못한다
배경에 알아야하는게 너무 많기때문에
db쪽도 한번 파보면 좋다.
블로깅이나 서칭해서 잘 나오지 않는 것들을 해야한다.
스프링 jpa hibernate 코드까지 보거나 디버깅으로 파보기.
hibernate 라이프사이클 까지 파봐야한다.
알고리즘 자료구조는 당연한거고 jpa 영속성컨텍스트 이쪽은 파볼만하다.
면접은 일단 많이 봐야한다.
각자 개개인이 깊이를 얼마정도 가져갈수있느냐가 중요하다.
방향성이 중요하고 계속 공부를 하면서 나아가야한다.
Scale Out / 로드밸런서
OSI 7계층
AWS ELB
Auto Scaling + CI/CD
AMI / 시작 템플릿
Mock 서비스 코드 작성
깃허브 잔디 꾸준히 심기
CS공부 병행하면서 프로젝트 진행하기
실전 프로젝트 적당히 시간 분배하면서 진행하기
코딩테스트 공부
깃허브 잔디 꾸준히 심기
CS공부 병행하면서 프로젝트 진행하기
실전 프로젝트 적당히 시간 분배하면서 진행하기
코딩테스트 공부하기