왜 Redis Sorted Set으로 대기열을 구현했는가? 여러 아티클을 통해 redis의 sorted set은 하나의 key에 중복되지 않는 meber를 가질 수 있다는 것을 알게되었다. 이는 카카오 선물하기 구조에서 안성맞춤이라고 생각한다. 그 이유는 하나의 선물(key)에 다수의 memer(참여자) 구조로 갈 수 있다는 것을 의미한다. N개의 요청이 발생했을 때 score를 통해 접근 순위를 파악할 수 있다. 런닝 커브가 낮다 카카오 선물하기 대기열의 구조 💡 게임 주최자의 입장 게임 주최자는 특정 오픈 채팅방에 선물하기 게임을 시작합니다. 선물의 정보와 redis에 저장할 키를 발급하고 데이터 베이스에 함께 정보를 저장합니다. 발급 받은 키를 사용하여 redis에 선물 갯수를 저장합니다. 오픈 채..
다시 엑셀 다운로드를 만들어보자 엑셀 다운로드 1편 에서는 기본적인 엑셀 다운로드를 살펴보았습니다. 지금부터는 1편의 문제점을 어떻게 해결할 수 있을까? 라는 주제입니다. 해당 글은 개인적인 경험이니 피드백을 주시면 감사하겠습니다. 기존 엑셀 다운로드 API에 부하 테스트를 진행하는 도중 서버가 잠시동안 멈춰버리는 현상이 겪어 heap dump를 하여 구글링을 통해 알게된 내용을 공유합니다. 🤔 문제점을 어떻게 해결할 수 있을까? heap dump를 통해 구글링을 하던 중 비슷한 경험을 했던 블로그를 찾았는데 해당 글에서 애플리케이션의 메모리에 한꺼번에 많은 양을 가져오게 된다면 문제가 발생한다라는 내용을 알게되었습니다. 이 해결방안을 토대로 페이징을 적용하고 주기적으로 내용을 flush 해주면 괜찮아지..
엑셀 다운로드를 만들어보자. 구글링에 Spring Boot 엑셀 다운로드를 검색하면 무수히 많은 글이 나옵니다. 하지만 이 글에서는 엑셀 다운로드 중 어떤 것들을 조심해야 하는지, 그리고 엑셀 유틸 클래스를 만들어서 하나의 유틸 클래스로 어떻게 관리할 수 있는지 살펴보도록 하겠습니다. 우선 엑셀 다운로드 중 조심해야 할 것들은 2편에서 소개할 예정이므로 우선 기본적인 엑셀 다운로드를 만들어보겠습니다. 💡 상황예시 지금부터 다룰 예시는 회원들의 엑셀 다운로드와 회원들이 작성한 게시글을 다운로드입니다. 💡 의존성 설정 Spring Boot에서 가장 많이 사용하는 apache poi 라이브러리를 추가합니다. implementation 'org.apache.poi:poi-ooxml:5.2.2' implement..
😭 이슈 발생 어느 날 팀원분이 PinPoint 모니터링 중 병목이 발생한다고 말씀을 해주셨는데, 일단 구체적인 원인을 모르니 상황을 조금 더 지켜보기로 했습니다. 병목이 발생한 타이밍이 필자가 RabbitMQ 설정을 추가적으로 설정한 탓에 발생한 건가?라는 생각을 했었는데 추후에 RabbitMQ 설정을 원래대로 설정을 하고 배포를 했는데도 불구하고 계속하여 문제가 발생을 하였습니다. RabbitMQ와 관련이 없구나 생각한 후 aws Cloudwatch의 로그를 보던 중 특정 API 호출 후 문제가 발생하는 것 같은 느낌을 받아 특정 API의 소스코드를 보았는데 QueryDSL의 메서드 중 transform 메서드를 확인하고 이게 어떤 역할을 하는지부터 찾아보게 되었습니다. 그리고 이녀석이 문제였구나 알..
- Total
- Today
- Yesterday
- spring boot redis 대기열 구현
- redis sorted set
- microkernel architecture
- transactional outbox pattern spring boot
- 트랜잭셔널 아웃박스 패턴 스프링부트
- service based architecture
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- spring boot poi excel download
- redis 대기열 구현
- spring boot redisson sorted set
- space based architecture
- redis sorted set으로 대기열 구현
- spring boot excel download paging
- spring boot redisson destributed lock
- 람다 표현식
- 자바 백엔드 개발자 추천 도서
- @ControllerAdvice
- pipe and filter architecture
- 서비스 기반 아키텍처
- pipeline architecture
- transactional outbox pattern
- JDK Dynamic Proxy와 CGLIB의 차이
- 레이어드 아키텍처란
- spring boot redisson 분산락 구현
- java ThreadLocal
- java userThread와 DaemonThread
- spring boot excel download oom
- spring boot 엑셀 다운로드
- 공간 기반 아키텍처
- polling publisher spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |