2025-12-24XACKDEL 미지원, Grafana 대시보드spring data redis 에 아직 xAckDel 이 반영이 안되어있어서 유틸 만들어서 추가하였습니다. 그래도 결국 extension 함수로 만들어도 lettuce 에서 응답파싱할 때 XACKDEL 응답을 뭘로 파싱해야하는지 몰라서 에러가 납니다.
2025-12-22Redis Stream 파티셔닝 시 한계점stream 을 파티셔닝할려고 했는데 생각해보니까 kafka 처럼 파티션을 컨슈머에 할당하는 리밸런싱을 직접 해줘야할 것 같습니다. 그러니까 파티셔닝된 stream 당 하나의 파드내 컨슈머에서 읽을 수 있도록 해야합니다.
2025-12-18Redis 8.4 를 써야하는 이유이번에 redis 단일 노드만 쓰다가 cluster 로 구축해보면서 redis 버전을 정해야했습니다. 그래서 버전별 어떤 기능이 추가되었고 변경되었는지 정리했더니 진짜 유용해서 작성합니다. Redis 8.2 에서 XACKDEL 명령이 추가되었다고 합니다.
2025-12-10redis stream 는 kafka 와 달리 그런거 없었다...실무에서 redis stream 으로 사용자에게 알림전송 시스템을 구축하면서 kafka 와 다른점들을 많이 느꼈다. 개인적으로 느낀 4개 주요 차이점 있는데 AI 의 힘을 빌리지 않고 정리해본다.
2025-11-17Ollama 는 mac m1 환경에서 docker 실행하기엔 너무 느렸다...m1 에서 docker 로 ollama gemma3 모델 서빙할려고 했는데 너무 느림. 그래서 찾아보니 ollama 측에 이슈 봤는데 여기서 답변을 잘 해줌. 맥에서는 docker 에 gpu 메탈가속을 공유하지 못해서 느리다고 함. 그래서 그냥 맥에서 직접 서빙해야한다.
2025-11-11API 최적화 방법최근 API 응답 최적화 관련 질문을 받았꼬 해당 방법에 대해 진짜 시작부터 끝까지 하나의 플로우로 정리해봤다. 일단 API 는 유저 정보를 불러오는 API 이며 내부망 API 2번 및 DB 1번 호출이 포함되어 있다고 가정한다.
2025-11-10protobuf 이진 내부구조 분석 및 gRPC 와 REST API 성능 비교요즘 gRPC 를 외/내부망 통신에 많이 사용하는 추세이다. 듣기로는 소형 이진포멧으로 페이로드 크기를 줄일 수 있다고 한다. 성능 최적화에 기여할 수 있을 것 같아서 평소에 restAPI 만 쓰다가 이참에 gRPC 에 대해 알아보기로 했다.
2025-11-07GZIP 압축을 이용한 서버 응답 최적화(?)API 응답 최적화 방법 중 하나로 GZIP 압축을 이용하는 방법이 있다고 한다. 뭔가 데이터를 압축해서 보내면 네트워크 전송량이 줄어들어서 응답속도가 빨라질 것 같긴 한데, 실제로 효과가 있을까 궁금해서 실행해봤다. 일단 먼저 gzip 이란?
2025-10-28대용량 엑셀 파일 처리를 위한 Apache POI 최적화 팁약 엑셀 하나당 100MB 이상의 대용량 엑셀 파일을 연속으로 처리해야하는 상황이 있었습니다. 칼럼수도 증가하며 row 수는 1000만건이 넘어가면서 메모리 부족 이슈가 발생했습니다. 거의 1GB 이상의 메모리에 올라가있는 상황이 발생했죠.
2025-10-10Bean 안쓰고 로우레벨에서 싱글톤으로 관리하기일반적으로 Spring-Boot 쓰다보면 싱글톤 관리할려고 할 때 @Bean, @Component, 등등 어노테이션으로 객체를 관리한다. 그러다가 문득 아예 로우레벨에서 싱글톤으로 관리하는 방법도 알면 좋을 것 같아서 정리해본다.
2025-10-09ElasticSearch ILM 설정 기록용량제한 90% 가 넘으면 경고가 뜨고, 95% 가 넘으면 읽기전용으로 바뀐다. 롤오버로 새로운 인덱스 생성하는거 굳이 안써도 됨.
2025-10-04llama2 chat 7b run on MBP M1 max최종 목적은 git PR 요약 및 개선점을 머지 이전에 알아서 AI 가 로컬에서 alert 하는게 목적이다. 이를 위해서는 그래도 1분이내 응답이 만료되어야하고, 응답이 1000자 까지 지원해줘야한다(다시보니 500자도 충분할 듯).
2025-10-02실수로 인해 발생하는 장애를 방지하기 위한 개인적인 규칙과 셋업실수로 인해 발생하는 장애를 방지하기 위해 개인적인 규칙과 셋업을 기록합니다. SQL 쿼리는 직접 짠 뒤 AI 검증 - 한 명 이상 같이 검증 - 실행시간 남기고 - update, delete 는 select 로 한 번 보고 explain 건 뒤 수행한다.
2025-08-10goroutine 경량스레드 상기Java Virtual Thread vs Goroutine 이전에 Java 의 native thread 와 goroutine 차이점을 정리한 적이 있고 그냥 다시 상기하는 차원에서 정리한다. .
2025-08-04Redis 클러스터 모드에서 stream key 분산처리Redis Stream 적용기 의 후속편이다. Redis Stream 은 stream key 를 하나의 큐로 사용한다. 문제는 redis cluster 모드에서 redis stream key 는 하나의 노드에만 저장이 되기떄문에 부하분산이 되지 않는다.
2025-05-21Spring batch주문 관련 배치 작업 중 변경감지 안되서 정리함. 현재는 Spring batch 에서 reader processor writer step 중 ItemReader 내부에서 last read id + offset size 로 Pagination 해서 읽어오고 있음.