본문 바로가기

개발 관련/spring10

JPA 락에 대해 트랜잭션에 대해서 이야기 하다보면은 항상 나오는 얘기가 있는 것 같습니다. 대량의 트래픽이 한 번에 들어왔을 때 어떻게 줄을 세울 것인가? 물론 아닐 수도 있지만, 면접때는 거의 항상 비슷한 내용을 물어봤던 것 같습니다 여러 방법이 있을 것 같습니다. DB 의 isolation level 을 조정한다던가 (하지만, 심각하게 느려지므로 비추인 것 같습니다.) JPA 의 낙/비관적 락을 사용한다던가 레디스를 통해 받는다던가 (클러스터를 사용하면 zookeeper 를 사용해야 한다던가 하는데, 자세히는 모르겠네요.) 알아본 혹은 알고 있는 방법으로는 3가지 정도가 있는 것 같습니다. 이번엔 JPA 의 락에 대해서 알아보려고 합니다. 1. 락 없이 동시 접근을 했을 때 동일한 데이터에 접근하여 수정하는 예로는 .. 2022. 7. 14.
Mockito 정리 (1) Mockito 란? 자바에서 단위 테스트를 위한 Mocking framework tastes really good(?!) (개인적으론) 간편하게 사용할 수 있어서 테스트코드 작성할 때 즐겨 사용하는 편입니다. 1. 의존성 추가 org.mockito mockito-core 3.0.0 test 버전에 대해 mockito 의 버전은 1.x, 2.x, 3.x 로 총 3개가 있습니다. 공식 wiki 에 따르면 1과 2는 맞지 않는(Incompatible) 것도 있다고 합니다. 2와 3은 API 로는 변경된 것이 없으나, Java8 에 맞춰졌다고 합니다. 2. 사용 방법 2-1. verify // mock 등의 코드를 깔끔하게 하기 위해 static import import static org.mockito.Moc.. 2022. 7. 14.
SpringBoot Actuator 1. Spring Boot Actuator 일단.. 생소한Actuator 이란?? An actuator is a manufacturing term that refers to a mechanical device for moving or controlling something. Actuators can generate a large amount of motion from a small change. 물건을 움직이거나 컨트롤하기 위한 장치를 의미하는 제조 용어로, 작은 변화로 큰 변화를 일으킬 수 있다. 앱을 모니터링 하거나 메트릭을 수집하거나 트래픽 혹은 데이터 베이스 상태를 이해하는 것을 쉽게 하는 것 설명만 봐선 알듯말듯하게 모르겠고, 정리를 하는 시점에도 딱 이거다! 하고 떠오르질 않네요. 모든 내용은.. 2022. 7. 14.
WireMock 사용 순서가 어긋난 감이 있긴 하지만, 지난 번 API 통신을 위해 Feign 을 사용했었는데, 테스트를 진행할 때 실제로 API 접속을 할 수는 없으니 Mock Web 서버를 만드는 기술인 WireMock 를 사용한 내용을 올리고자 한다. WireMock 이란? HTTP-based API를 위한 시뮬레이터 Mock 으로 만드는 웹서버 http://wiremock.org/ 1. 의존성 추가 Maven 을 사용하므로 pom.xml 에 의존성 추가 com.github.tomakehurst wiremock-jre8 2.24.1 test 2. 테스트 코드 작성 public class Test { @Rule public WireMockRule wireMockRule = new WireMockRule(8089); // .. 2022. 7. 14.