Redis cluster spec
·
공부
Redis cluster(이하, 레디스 클러스터)는 세 가지 중요 목표를 가지고 설계되었다. 분산 환경에서 자동 데이터 파티셔닝, 장애 허용성 그리고 고가용성이다. 레디스 클러스터는 데이터를 효율적으로 분배하고 마스터 노드가 장애가 발생한 경우 레플리카 노드가 가장 최신의 데이터 상태를 기반으로 새로운 마스터 노드로 승격되어 서비스를 지속적으로 운영될 수 있도록 보장한다.
Peacock 프로젝트 노트
·
프로젝트
날짜작업링크2024년 9월 17일응답 헤더에 서버 정보가 노출되는 보안 문제 해결-2024년 9월 18일- ArgoCD helm chart로 이관- NGINX에서 Traefik으로 이관- Peacock API JIB 적용500 에러 해결 참고 자료https://www.gomgomshrimp.com/posts/argocd/github-integration
Vampire Pizza Ninja 구성하기
·
메모
홈서버를 운영하면서 아쉬운 점이 몇 가지 있는데 바로 카페나, 스터디와 같이 집 외부에서 접근하기 어렵다는 문제가 있었다. 그래서 VPN을 구성해 보기로 했다. 혼자 사용하려는 목적이기 때문에 설치가 쉽고 wireguard를 사용하기 위해서 PIVPN을 선택했다. 준비접속할 네트워크에 연결된 PC 설치사용할 PIVPN은 굉장히 설치가 간단한 편인데, 아래 명령어 한 줄이면 설치가 된다.curl -L https://install.pivpn.io | bash설치 과정에서 몇가지 선택지가 있는데, 크게 어려운 것은 없고 설명에 따라서 설치하면 된다. 공유기 설정VPN 설치를 완료하면 설치 중간에 포트 정보를 공유기에서 포트포워드 설정을 해주면 된다. WireguardVPN 프로필 발급pivpn -aWiregu..
[8월 디버깅] 가짜 Nest.js 개발자
·
메모
최근에 담당 중인 서비스 내에 GlitchTip을 연결하는 작업을 진행했다. 하지만 기본적으로 제공하는 Nest.js 지원 모듈은 현재 실험적이고, 모니터링에 필요한 정보가 많이 부족했다. 그래서 직접 예외 발생 시 처리할 Interceptor를 구성했는데, 어느 날 UnauthoziedException으로 처리한 예외가 모니터링에 지속적으로 나타나게 되었다. 원래 구현 상태에 따르면 4xx 에러는 모니터링하지 않기 때문에 원인을 분석할 필요가 있었다. 원인은 Nest.js HTTP exception 생성자에 Error 객체를 주게 된다면, Fastify는 body에 담을 내용이 Error 객체인 경우 Nest.js의 Interceptor를 태워서 결국 하나의 예외에 대해서 두 번 Interceptor가..
최근 재밌게 본 애니메이션
·
카테고리 없음
최근 유튜브의 알 수 없는 알고리즘으로 "장송의 프리렌"이란 애니메이션을 봤다. 자극적이지 않고, 잔잔하며 소소한 개그가 숨어있어 재밌다.
[8월의 디버깅] Kafka.js LZ4 compression
·
카테고리 없음
현재 개발 중인 프로젝트는 이벤트 기반 아키텍처로 각 서비스는 이벤트를 발행/구독 형식으로 구성된다. 하지만 모든 서비스는 독립적인 서버로 실행되고 있기 때문에 이벤트를 수신하는 방식에 대해서 고민을 해야 한다. 그중 요즘 다들 사용한다는 kafka를 이용하는데 kafka client 중 nest.js 기본 client인 kafka.js에 대한 이야기다. 일단 kafka.js는 주인장이 손을 놓고 다음 주인장을 애타게 찾고 있는 프로젝트로 Nest.js에서 기본으로 구성된 kafaka를 사용한다면 이 녀석을 사용할텐데, 만약 kafka 메시지가 lz4로 압축된 경우 문제가 발생한다. kafka.js는 압축 방식을 몇 가지 제공해 주는데 그중 실제로 구현된 압축 방식은 gzip만 제공되기 때문에 그 외 압..