SsangminLeeinwhatsmin.hashnode.dev·Dec 23, 2024 · 4 min readredis sync 문제 해결하기이슈 발생 배경 우리 팀은 3대의 마스터 노드와 3대의 replica 노드로 구성된 Redis Cluster를 사용하고 있었다. 팀원 중 한 명이 'keys' 명령어와 와일드카드(*)를 포함한 명령을 실행했고, 이로 인해 특정 노드가 완전히 블로킹됐다. 처음에는 이 문제가 해결된 것으로 보였다. 하지만 수일이 지난 후, 모니터링 알림을 통해 해당 노드가 더 이상 동기화되지 않고 있다는 걸 발견했다. 이는 초기 블로킹 이슈가 완전히 해결되지 않았...00
SsangminLeeinwhatsmin.hashnode.dev·Sep 4, 2024 · 10 min read마이데이터 에이전트 개발 토이 프로젝트https://github.com/sm0514sm/mymydata/tree/master 소개 프로젝트 개요 마이데이터 공식 문서를 기반으로 정책과 기술 사양에 대한 질문에 답변할 수 있는 AI 에이전트를 개발했다. 이 프로젝트의 주요 목표는 사용자들이 마이데이터 관련 정보를 쉽고 빠르게 얻을 수 있도록 하는 것이었다. 주요 기능: 마이데이터 관련 질문에 대한 AI 기반 응답 실시간 채팅 기능 다중 채널 지원 동시성 처리를 통한 효율적인 ...00
SsangminLeeinwhatsmin.hashnode.dev·Aug 21, 2024 · 5 min readspring batch lazy하게 의존하기발단 보통 spring batch를 사용할 때, 여러개의 Job들을 Bean으로 띄어놓고 program arguments로 job.name을 지정하여 사용한다. 하지만 이런 경우에 Bean으로 띄우다 보니 initialization이 일어날 때 Bean 내부의 runtime exception이나 해당 bean이 의존하는 bean(datasource 등)에서 runtime exception이 발생한다면 그것과 상관없는 job 또한 실행이 불가능하...00
SsangminLeeinwhatsmin.hashnode.dev·Jul 24, 2024 · 5 min readmapstruct를 활용해 spring boot에서 gRPC 쉽게 사용하기Enpoint API → Recommend API 로 많은 요청 응답 속도가 느림 gRPC 도입 dto의 멤버변수가 많기 때문에 gRPC message에 매핑하는 로직이 지저분 이를 해결하기 위한 mapstruct 사용 gradle 설정 gRPC mapstruct public class ItemResultRequest { @NotBlank private String query; private String si...00
SsangminLeeinwhatsmin.hashnode.dev·Jul 9, 2024 · 5 min readopenfeign 소개와 운영 서버 적용기Monolithic Architecture에서 MSA로 전환 시 다수의 WAS 간 통신이 복잡해지면 코드 가독성이 저하됩니다. 이를 해결하기 위해 feign을 사용하면 선언적 웹 서비스 클라이언트로 코드 가독성을 개선할 수 있습니다. Feign 설정은 Configuration 클래스나 yml을 통해 가능하며, Client-side Loadbalancing, Retry, Timeout, Request Header 설정을 손쉽게 관리할 수 있습니다...00