yeseul.log
close
프로필 배경
프로필 로고

yeseul.log

  • 분류 전체보기 (76)
    • 프로젝트 (23)
      • 프로젝트 과정 (21)
      • 프로젝트 결과 (2)
    • 알아두면 좋은 개발 지식 (37)
      • 컨퍼런스 정리 (7)
      • Java & Spring (9)
      • Spring Batch 스터디 (18)
      • 인프라 (1)
    • 기타 (13)
      • 오늘 읽은 책 (5)
      • CloudWave 3기 (3)
      • 자격증 (2)
      • 컨퍼런스 (1)
      • 회고 (1)
  • 홈
  • GitHub
  • 방명록

Aerospike에서 Redis로 마이그레이션하며 겪은 문제와 해결 과정

1. Aerospike vs Redis 간단 비교둘 다 NoSQL 데이터베이스지만, 아키텍처와 확장성에서 차이가 있다.특징AerospikeRedis아키텍처대규모 데이터 셋을 처리하도록 설계됨하이브리드 메모리 아키텍처(RAM & SSD 효율적 사용)단일 코어에서 실행되는 인메모리 데이터 구조 저장소주로 RAM에 데이터를 저장하도록 설계됨확장성자동 샤딩과 데이터 재분배를 통해 수평 확장에 최적화됨Redis Cluster를 통해 최대 1000개의 노드로 확장 가능수직 확장에 더 적합데이터 모델키-값 저장소와 문서 모델을 지원키-값 저장소이면서 다양한 데이터 구조를 지원 과거에는 Aerospike를 사용했지만, 최근에는 Redis 사용이 증가하고 레퍼런스가 적어지면서 Aerospike 서버를 Redis로 마이그..

  • format_list_bulleted 알아두면 좋은 개발 지식/인프라
  • · 2025. 2. 10.
  • textsms

Bucket4j를 이용해 API 요청 제한 정책 만들기

API 요청을 제어하려면 Rate Limiting(속도 제한) 이 필요합니다.이 글에서는 API를 "1분 이내 30번 요청 가능하지만, 24시간 동안 최대 30번만 허용"하는 Bucket4j의 정책을 설정하는 방법을 다룹니다.*Bucket4j을 도입하는 방법을 설명하는 것은 아닙니다.🧐 Rate Limiting이란?Rate Limiting(속도 제한)은 특정 시간 동안 허용할 요청 수를 제한하는 기술입니다.예를 들어:"1분에 60개의 요청 가능" (API 남용 방지)"24시간 동안 100개의 요청 가능" (과도한 사용 제한)이러한 제한을 적용하면 서버 부하를 방지하고, 공정한 API 사용을 보장할 수 있습니다.🛠 Bucket4j로 정책 설정하기Bucket4j는 토큰 버킷(Token Bucket) 알고..

  • format_list_bulleted 알아두면 좋은 개발 지식/Java & Spring
  • · 2025. 2. 5.
  • textsms
양방향 엔티티의 재귀 호출 문제와 해결 방법

양방향 엔티티의 재귀 호출 문제와 해결 방법

새로 개발 중인 기능에 필요한 데이터 구조를 양방향 엔티티로 설계하게 되었습니다. 그런데 이 과정에서 양방향 참조로 인해 재귀 호출 문제가 발생하였고,이를 해결할 방법을 찾아보게 되었습니다. 예시 코드들은 업무와 무관하게 작성되었습니다. 문제 상황Category와 Product 엔티티는 양방향 연관관계를 가지고 있습니다. 예를 들어, Category는 Product의 리스트를 가지고 있고, Product는 다시 Category를 참조하는 구조입니다.  코드로 나타내면 다음과 같습니다.@Entity@Table(name = "category")public class Category { @Id private Long id; @OneToMany(mappedBy = "category", casca..

  • format_list_bulleted 알아두면 좋은 개발 지식/Java & Spring
  • · 2025. 1. 5.
  • textsms
[完] 스프링 배치 스터디 오프라인 모임 (with 스페셜 게스트 이동욱님, 김남윤님)

[完] 스프링 배치 스터디 오프라인 모임 (with 스페셜 게스트 이동욱님, 김남윤님)

스프링 배치 스터디가 처음이자 마지막(?)으로 오프라인 모임을 갖게 되었습니다. 11월 30일 토요일(8회차)에 진행되었는데요,시간이 꽤 지나 기억이 흩어지긴 했지만... 늦기 전에 기록해두고 싶어서 이렇게 글을 쓰게 되었습니다. 😊 스터디 순서는 다음과 같이 진행 되었습니다.인사말8주차 스프링 배치 스터디특급 게스트(김남윤)님의 스페셜 세션특급 게스트(향로, 김남윤)님들의 개발자 Q&A 토크스프링 배치 퀴즈(진행 될 예정이었으나 시간 관계상 생략)중간 시상스터디원 단체 사진네트워킹: 피자 먹으면서 얘기하기 처음에 딱 들어갔을 때 배치가 완전 발표자를 기준으로 둥글게 되어있었는데,완전 면접하는 느낌(??)이어서  절대 발표자가 되면 안됐으면 좋겠다고.... 빌었습니다 ㅋㅋㅋㅋ 😂 대망의 발표자 뽑기 ..

  • format_list_bulleted 알아두면 좋은 개발 지식/Spring Batch 스터디
  • · 2024. 12. 23.
  • textsms

[10회차] 스프링배치 플로우 컨트롤 하기

아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기 [SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기 devocean.sk.com Spring Batch에서 flow 컨트롤은 Job 내에서 Step들의 실행 순서와 조건을 제어하는 기능입니다. FlowBuilder API를 사용하여 설정할 수 있습니다. 주요 APIFlow 컨트롤을 위해 Spring Batch에서 제공하는 주요 API들은 다음과 같습니다.next(): 순차적으로 Step들을 연결시킬 때 사용합니다.on(): 특정 Ex..

  • format_list_bulleted 알아두면 좋은 개발 지식/Spring Batch 스터디
  • · 2024. 12. 16.
  • textsms
[9회차] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기

[9회차] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기

아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. 원본: [SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기 [SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기 devocean.sk.com 스프링 배치를 사용할 때 비즈니스 로직에 맞는 배치 수행을 위해 커스텀이 필요합니다.커스텀을 위해 두 가지의 실습으로 나누어 진행 해보았습니다.QueryDSL을 활용해 QuerydslPagingItemReader 클래..

  • format_list_bulleted 알아두면 좋은 개발 지식/Spring Batch 스터디
  • · 2024. 12. 14.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 7
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (76)
    • 프로젝트 (23)
      • 프로젝트 과정 (21)
      • 프로젝트 결과 (2)
    • 알아두면 좋은 개발 지식 (37)
      • 컨퍼런스 정리 (7)
      • Java & Spring (9)
      • Spring Batch 스터디 (18)
      • 인프라 (1)
    • 기타 (13)
      • 오늘 읽은 책 (5)
      • CloudWave 3기 (3)
      • 자격증 (2)
      • 컨퍼런스 (1)
      • 회고 (1)
최근 글
인기 글
최근 댓글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바