Develop (317) 썸네일형 리스트형 [Redis] Cluster vs Sentinel 1) Sentinel 기능 모니터링 : Master/Salve 제대로 동작하는지 지속적으로 감시 자동 장애 조치 : 하단 알림 : failover되었을때 pub/sub으로 client에게 알리거나, shell script로 이메일이나 sms를 보낼 수 있다. 동작 방식 -Sentinel 인스턴스 과반수 이상이 Master 장애를 감지하면 Slave 중 하나를 Master로 승격, 기존의 Master는 Slave로 강등 시킨다. 과반수 이상은, 단순 sentinel의 네트워크 문제로 해당 이슈가 발생할 수 있기 때문이다. failOver 감지 방법 SDown : Subjectively down (주관적 다운) -seninal에서 주기적으로 Master에게 보내는 Ping과 info응답이 3초 동안, 혹은 .. [Redis] TTL이란 TTL이란 key가 언제까지 살아있을것인가 하는것이다 [Redis] Eviction 정책 Redis가 사용하는 메모리가 maxMemroy에 지정한 크기보다 커지면 Redis는 사용자가 지정한 Eviction 정책에 따라 저장되어있는 데이터를 제거한 후, 새로운 데이터를 저장한다. 1.noevitcion 꽉 차면 그냥 에러 발생 2.LRU 최근 사용빈도가 작은 걸 삭제, LRU는 많은 메모리가 필요하여, maxmemory-samples 옵션에서 지정한 수의 키로 샘플링하여 LRU 알고리즘의 근사치를 계산한다. 3.Random 무작위 삭제 4.TTL TTL이 짧은 데이터 부터 삭제한다. 5.LFU 최근 사용된 데이터라도 사용수가 적으면 삭제된다. [Redis] 지원하는 데이터 유형 1. String 일반적인 문자열로 최대 512Mb 길이까지 지원 Text 문자열 뿐만 아니라 Integer와 같은 숫자나, JPEG와 같은 바이너리 파일까지 지원가능 2. Set 3.Sorted Set Set에 score라는 필드가 추가된 데이터 타입, 해당 구조에서 score기준으로 오름차순 내부정렬되고 범위에 따른 쿼리나, top rank에 따른 쿼리등이 가능하다 4. Hashes (field/string value 쌍으로 이루어진 테이블을 저장하는 데이터 타입) 5. List [Redis] Redis 장 단점 장점 1. Key-Value Store 레디스는 거대한 맵 데이터 저장소 key,value가 매핑된 단순한 맵 데이터 저장소로서 데이터를 레디스에 쉽고 편하게 읽고 쓸 수 있다. 익히기 쉽고, 직관적이다. (단점: 데이터를 레디스 자체 내 에서 처리가 어렵다) 2. 다양한 데이터 타입 리스트, 배열 형식의 데이터 처리에 특화됨 Value 값으로 문자열,리스트,set,sorted set,hash등 여러 데이터 형식을 지원한다. 3. 속도 리스트 형 데이터의 입력과 삭제가 Mysql보다 10배 빠르다 4. 영속성 Redis는 데이터를 디스크에 저장할 수 있다. Redis서버가 셧다운 된 후에 재시작해도 Disk에 저장해놓은 데이터를 다시 읽어서 데이터가 유실되지 않는다. Redis의 데이터를 디스크에 저장하.. [Redis] Redis 란 무엇입니까? Redis는 인메모리 데이터베이스 관리 시스템이다. 다른 인메모리 데이터베이스와 달리 다양한 자료구조를 지원한다. (String,List,Sets,Streams,Hashes 등등) 자료구조가 다양해서, 개발의 편의성이 좋아지고, 난이도가 낮아진다. DBMS를 이용하여 DB에 데이터를 저장하고 저장된 데이터를 정렬하여 다시 읽어오는 과정을 가진다면 디스크에 직접 접근을 해야하기때문에 시간이 더 걸린다. NOSQL로서 key-value 타입의 저장소인 레디스의 주요특징은 아래와 같다. -영속성을 지원하는 인메모리 데이터 저장소 -읽기 성능 증대를 위한 서버 측 복제를 지원 -다양한 서비스에서 사용되며 검증된 기술 -문자열,리스트,해시,셋 정렬된 셋과 같은 다양한 데이터형을 지원한다. Redis 영속성 레디스.. [Spring batch] Repeat step 동일한 step을 파라미터만 변경해서 반복, 실행 반복되는 횟수는 동적으로 제어 만약 종료를 희망한다면, RepeatCallback에서 Enum으로 정의된 Continualbe과, Finished중에, Finished를 호출하면 된다. RepeatContxt RepeatCallBack메소드는 RepeatContext를 파라미터로 받는다. 해당 iterator가 종료되면, 해당 컨텍스트는 종료되고, 실행되는 동안은, context는 공유된다. 반복 중간에 RepeatTemplate은 CompletionPlolicy를 호출하고, ReapeatCOntext에 저장되어있는 값을 업데이트하라고 한다. 해당 Policy에게 종료할지를 물어본다. RepeatListener의 내용중, Aop같이 사용할 수 도 있다. .. [Spring Batch] RepeatStatus RepeatStatus 의 Constant 값은 Finished,Continuable값이 있는데 FInished로 반환하는 경우, job을 정상적으로 종료하고, Continuable로 반환하는 경우 job이 계속 구동되어야 하는 의미로 처음부터 다시 시작한다. 단순히 스프링 배치에서 제공하는 상수, ENUM이다. 이전 1 ··· 18 19 20 21 22 23 24 ··· 40 다음