
최근에 트래픽이 특정 시점에 몰리는 경우 발생한 문제에 대해 찾아보다가 의외로 단순한 문제로 해결되는 방법을 찾게 되었습니다. 이전 글에서도 작성하였다시피 Controller 에서 아래와 같은 방식과 같이 개발을 하는 경우가 많습니다. @GetMapping("/test") public String test() { return "redirect:/url/" + UUID.randomUUID(); } 몇 건의 경우 문제가 없겠지만 한 번에 다량의 Request가 들어오게 된다면 스프링에서 제공해주는 동시성 유틸리티에 과부하가 되어 Out of memory, 즉, 힙 영역에 과다한 부하가 들어오게 되어 FullGC가 발생하게 됩니다. 이런 방식을 개선하기 위해 RedirectView 또는 ModelAndView..

UUID(Universally unique identifier): 범용 고유 식별자 UUID는 테이블에서 key로 사용될 수 있는 대표적인 KeyGen의 방법 중 하나입니다. UUID는 Java에서 제공해주는 기본적인 클래스로 사용할 수 있습니다. import java.util.UUID; UUID의 특징 1. 중복이 날 확률이 거의 없다(있다고는 하나 1초에 2.71 * 10^18 개의 UUID를 생성했을 때 최소 1개가 중복(충돌) 될 확률이 약 50% 정도라고 합니다. 참고: gafani.tistory.com/entry/MariaDBmysql-UUID-%EB%A1%9C-PK-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0 MariaDB(mysql) UUID 로 PK 사용하기 늘 디비..