Spring Boot 서비스 환경 스트레스 테스트 3 [Spring/Java]
·
Spring
지금까지 진행된 내용은 JVM 환경을 모니터링하고 DB 커넥션을 빠르게 되돌려 줄 수 있게 쿼리 최적화와, 트랜잭션의 동작, QueryHints 어노테이션, DB의 접근하는 로직을 최소화할 수 있도록 구성했다.이제 스트레스 테스트를 실제로 진행해야 한다.1. 스트레스 테스트 with K6K6는 그라파나 Lab에서 개발된 오픈소스로 다른 스트레스 테스트 툴에 비해서 들어가는 리소스가 적다. 또한 Go언어로 만들어져 빠르고 실제 테스트 스크립트 작성은 Js로 구성할 수 있다.https://kiru-dev-study.tistory.com/26 Spring Boot 프로파일링 및 Stress Test [Spring]현재 진행하고 있는 프로젝트의 대한 최적화를 진행하기 위해 다음과 같은 기술 스택을 사용했고 어떻..
Spring Boot 서비스 환경 스트레스 테스트 2 [Spring/Java]
·
Spring
https://kiru-dev-study.tistory.com/27 Spring Boot 서비스 환경 스트레스 테스트 [Spring/Java]1. 구성하게 된 이유스타트업 프로젝트를 2주안에 서버 구축이 완료되어어야 한다는 소리에 다급하게 프로젝트를 시작하고 인프라 구축, API 개발까지 완료를 한 상황에서 물론 스스로 응답에kiru-dev-study.tistory.com1편에 이어서 어떻게 개선했는지 확인해 보도록 하겠다. 스트레스 테스트에서 가장 중요한 점은 어디서 병목이 생기는지, 왜 병목이 생기는지에 대한 부분이다.1. 병목 지점 - DB실제로 가장 큰 병목 지점은 DB/IO의 대한 부분이다. 왜 그런가 하면 DB의 구조를 생각하면 좋은데 DB는 디스크에 데이터가 저장되게 된다. 즉 DB를 조회한..
[Spring] Redis Stream을 사용한 EventPublisher, EventListener 구현
·
Spring
https://playground.sopt.org/projects/179 SOPT | 프로젝트 둘러보기자세한 내용이 궁금하신가요?playground.sopt.org다음과 같은 Product에 참여를 해 서버 개발자로 참여를 했었는데요.!그런데 여기서 의문점이 하나 있었는데 데이트 코스를 생성하는 과정에서 다음과 같은 과정을 거쳐야 했었습니다1. 데이트 코스 생성 [CREATE] 2. 코스를 생성하면 User에게 코스를 생성했으니 Point값 추가 [ UPDATE ]3. 그후 Point 내역을 보여주기 위한 Point 테이블에 Point 생성 [CREATE] 근데 여기서 의문점이였던게 어라라???POST API한개로 다른 테이블을 조회해서 UPDATE와 CREATE를 전부 수행해도 되는것인가...?에 대한..
편리한 객체간 매핑을 위한 MapStruct 적용기 .feat 당근클론코딩
·
Spring
왜??Spring에 대한 공부와 여러가지 실습을 진행하면서 객체간 Mapping을 할 일이 많아졌고 각 객체 내부에 계속해서 다른 객체와 Mapping 해주는 로직을 짜게 되었습니다. 그러나 이제 객체가 늘어날수록 계속해서 Mapping 로직과 반환하는 DTO들이 많아졌고 관리의 용이성을 생각했을때 더 좋은 방법이 있다고 생각해서 찾아보게 되었습니다.일반적으로 제공하는 Mapper가 있지만 MapStruct라는 좋은 것이 있어서 코드설명과 함께 제공을 해드리려고 합니다. 네이버 클라우드의 블로그를 참고했습니다.https://medium.com/naver-cloud-platform/%EA%B8%B0%EC%88%A0-%EC%BB%A8%ED%85%90%EC%B8%A0-%EB%AC%B8%EC%9E%90-%EC%..