본문 바로가기

개발중/Redis

(8)
[Redis] Sentinel tilt mod Error 해결 : 버전문제 Sentinel 에러에서 아래와 같은 로그를 확인할 수 있었다.1:X 20 Dec 2024 01:34:50.922 # +tilt #tilt mode entered1:X 20 Dec 2024 01:34:50.922 # waitpid() returned a pid (168321) we can't find in our scripts execution queue! 사용량이 없는 시간대에도 에러가 산더미처럼 발생했다. 기존에 레디스 17.* 버전을 사용 중이었는데 19.* 버전대로 올리니 tilt 모드 에러의 빈도수가 줄었다.버전 문제일까 ?
[redis] sentinel : waitpid() returned a pid (...) we can't find in our scripts execution queue! Sentinel 의 CPU 사용률이 비정상적으로 튀는현상이 발생했다.Sentinel Log 를 확인해보니 아래와 같다. 1:X 15 Nov 2024 06:47:20.330 # +tilt #tilt mode entered1:X 15 Nov 2024 06:47:20.330 # waitpid() returned a pid (924) we can't find in our scripts execution queue!1:X 15 Nov 2024 06:47:50.401 # -tilt #tilt mode exited1:X 15 Nov 2024 06:50:12.123 # +tilt #tilt mode entered1:X 15 Nov 2024 06:50:12.123 # waitpid() returned a pid (138..
Redis Pub/Sub 에 대해서 알아보기. Redis Pub/Sub Redis Pub/Sub(Publish/Subscribe)는 Redis에서 제공하는 메시징 시스템으로, 발행자(Publisher)가 메시지를 특정 채널에 발행하고, 구독자(Subscriber)는 해당 채널을 구독하여 메시지를 수신하는 방식입니다.  이 방식은 비동기적 통신을 가능하게 하며, 발행자와 구독자가 서로 직접적으로 통신하지 않고, Redis가 중간에서 메시지를 라우팅하는 역할을 합니다. Redis Pub/Sub 동작 방식Publisher (발행자)발행자는 특정 채널로 메시지를 보냅니다.발행자는 메시지를 보낼 때 구독자가 있는지 여부를 알 필요가 없습니다.여러 구독자가 있으면, 같은 채널을 구독한 모든 구독자에게 메시지가 전송됩니다. Subscriber (구독자)구독자는 ..
[트러블 슈팅] Headless Service 에 대한 오해 (1) 아래와 같은 설정을 하는 와중에 오해한 부분을 찾았습니다. 고성능을 위한 Redis (High Availability, HA)와 Kubernetes 구축 마스터 가이드 (Spring Session storage 설정까지) 목표 1. Redis k8s 구성 이해 Redis Sentinel 고가용성(High Availability, HA) 클러스터 구성 방식으로 설계하였습니다. Master Redis Server 실제 데이터를 저장하고 처리하는 주 서버입니다. Slave Redis Server Master soobindeveloper8.tistory.com Headless service Headless service는 Kubernetes에서 특별한 유형의 서비스입니다. 일반적인 Kubernetes 서비스는 ..
고성능을 위한 Redis (High Availability, HA)와 Kubernetes 구축 마스터 가이드 (Spring Session storage 설정까지) 목표 1. Redis k8s 구성 이해 Redis Sentinel 고가용성(High Availability, HA) 클러스터 구성 방식으로 설계하였습니다. Master Redis Server 실제 데이터를 저장하고 처리하는 주 서버입니다. Slave Redis Server Master 서버의 데이터를 복제합니다. 이는 고가용성을 높이고 읽기 쿼리의 부하 분산에 사용될 수 있습니다. Sentinel Nodes 클러스터의 상태를 모니터링하고, Master가 다운되면 새로운 Master를 선출하는 등의 작업을 수행합니다. 목표 2. Redis k8s 구축하기 Helm helm 에서 chart 내려 받습니다. helm install lucy3-redis oci://registry-1.docker.io/bitna..
[트러블슈팅] Could not connect to Redis at 127.0.0.1:6379: Connection refused redis local 에서 접속하려니 아래와 같은 오류가 발생했습니다. root@DESKTOP-Q26RDFJ:~# redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused redis-server 명령어로 redis 실행시켜준 후 root@DESKTOP-Q26RDFJ:~# redis-server 617:C 12 Sep 2023 13:37:43.911 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also caus..
[Redis 트러블슈팅] OOM command not allowed when used memory > 'maxmemory'. 초기에 Redis 와 Web 을 연동시에 잘 연동이 되는 것을 확인했으나. 어느 순간부터 아래와 같은 에러가 발생하는 것을 확인했습니다. 2023-09-11 23:41:34.216 ERROR 1 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost] : Exception Processing ErrorPage[errorCode=0, location=/error] org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: OOM command not allowed when use..
k8s Redis 구성방식에 대해서 고민하는 중입니다. k8s Redis 메니페스트 아래와 같이 구성하면 초간단 Redis 는 구축됨 로컬 세션 스토리지를 레디스로 옮겼다. 근데 문제가 있다. 파드에 있는 노드가 죽어버리면 .. ? 로컬 스로리지에서 인증 정보를 저장할 때랑 별 다른게 없는것이 아닌가 ? 그래서 사람들이 master 와 slave 로 구성을 하는 것 같다. ConfigMap apiVersion: v1 kind: ConfigMap metadata: name: lucy3-redis-config namespace: lucy3 data: redis-config: "" Service apiVersion: v1 kind: Service metadata: name: lucy3-redis-service namespace: lucy3 spec: selecto..