최근에 회사에서 스프링 부트 1.5-> 2.6 으로 업데이트하는 작업을 실시하였다.
느낀점.
- 스프링 부트 업데이트는 서비스 전체적으로 영향을 일으키므로 스트레스 테스트가 필수이다.
- 부트 업데이트시 gradle 과 호환되는 버전을 찾자.
- gradle 변경에 따른 dependency 설정 방법의 차이가 좀 생기는데 implement 방식은 외부에서는 해당 의존성 코드는 못보게 하는 설정이다
- monggodb 4.2 로 올라가면서 transactional 이 생겼는데 이를 무분별하게 사용하면 안된다. (몽고db의 경우 일반적인 find(select) 라도 해당 id를 기준으로 lock을 걸어버리기 때문에 성능문제가 생길 수 있다. lock aquire time out)
- 배포 후 에러가 올라온다면 로그를 유심히 보자.
- 로그만 잘 봐도 이슈 파악이 원할해진다.
- jdk 는 아직 1.8 이 lts 가 더 길다. 11로 가고싶으면 차라리 17까지 최신으로 올려서 쓰자 (jdk 17버전 공부도 하고)
- 서비스 내부에서 통신 구간 및 방식에 대한 수정이 필요 할 때 카나리 배포시에는 pre deploy, after deploy 가 생길 수 있다.
- 오래된 로직과 새로운 로직이 공존하므로 둘 다 허용하고 받아주는 수정 배포 먼저 한 뒤에 새로운 로직을 배포 하고, 후에 임시 로직을 삭제하는 배포 과정 등이 거쳐진다.
'회고록' 카테고리의 다른 글
하이버네이트 2차캐시 도입 후기... (1) | 2023.04.20 |
---|