일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- EMR
- 머신러닝
- 로그인
- Cluster
- login
- 자동
- 예제
- redash
- 젠킨스
- SpringBoot
- Jenkins
- Kafka
- Redis
- Zeppelin
- Mac
- 클러스터
- java
- spring
- Docker
- hive
- 레디스
- 간단
- vue
- fastcampus
- ec2
- aws
- gradle
- 자바
- config
- 설정
- Today
- Total
목록Redis (6)
코알못
이번 시간에는 세션을 redis로 변경하여 하여 로그인 관리를 해본다 ! 보통 상용 환경에서는 서버 한대로는 부족하기에 여러대로 운영하기에 기본 로컬 메모리를 사용하게 되면 로그인을 진행한 서버가 아닌 다른 서버로 요청이 갈시 로그인 정보가 없기에 다시 로그인을 해야하는 상황이 발생한다 이를 방지하기 위해 redis 를 사용하여 사용자 세션 정보를 한곳에서 관리 한다! 우선 redis로 전환하기 전 로컬 메모리에 저장되는 세션 만료 시간은 아래와 같이 설정 가능하다. server: servlet: session: timeout: 60s # 기본 30분이며 60s 미만 설정시 60초로 된다. 로그인시 60초 뒤에 다시 로그인 페이지 호출시 로그인이 풀린다. (만료전 호출시 로그인을 따로 안해도 토큰 발행이..
Predixy 란? - 프록시 중 하나 - redis cluster에서 key 가 분산돼서 저장될 때, 클라이언트가 키가 어디 있는지 찾을 필요 없이 Predixy 가 전부 해줌. - master, slave 읽기 처리 비율 조정 가능 저자가 redis cluster 를 위한 기능이 탑재되어 있는 프록시를 찾아봤을 때(2021.06.01 기준) predixy 뿐이었으므로 해당 프록시와 연동해본다! 아래와 같은 구조가 베스트 이지만.. 테스트를 위한 구성으로 아래와 같이 하나의 서버에서 포트별로 다르게 프로세스를 띄워 구성한다. 1. 설치 $ git clone https://github.com/joyieldInc/predixy.git $ cd predixy $ make $ cp src/predixy /us..
Redis-Cluster 특징? master를 여러개 두어 분산 저장이 가능하며(Sharding), scale out 이 가능하다. 서버를 늘릴수록 저장할수 있는 공간이 무한대로 커진다. master에 하나 이상의 slave 를 둘 수 있다. master 1,2,3 이 있다면 데이터는 3개중에 하나에 저장되며, client 가 데이터 읽기 요청시 저장된 곳이 아닌 다른 마스터에 요청 했다면 저장된 마스터 정보를 알려주며, 클라이언트는 전달받은 마스터 정보에 다시 요청해서 데이터를 받아와야 한다. But, 해당 부분은 redis-cluster 를 지원하는 라이브러리에서 다 해준다. * 참고 - scale up : 단일 서버의 스펙을 올려 서버 성능을 높힌다. - scale out : 서버를 추가하여 서버 ..
HAProxy 란? 로드 밸런서 가상 IP 를 두어 여러 서버의 부하를 분산하는 기능 오픈소스, 무료 Redis 에 HAProxy 를 두는 이유는 무엇일까? 마스터 장애시 슬레이브가 마스터가 됐을때 Client가 마스터 관련 IP, PORT 를 수정 해주어야 하는 단점 보완 검색 해보면 대부분 해당 이유로 많이 나오지만 이전 포스팅인 [5분안에 구축하는 Redis-Sentinel] 를 참고하여 구성하면 해결 된다. (해당 구성이 어려운 경우를 말하는 것으로 보인다.) slave에서 읽기가 가능하도록 하기 위해 & 로드밸런싱 기능 이전 포스팅 방식으로 구현시 slave 는 데이터 백업용으로만 사용된다. HAProxy 를 사용하면 slave 에서도 읽기가 가능하여, Master의 부하가 분산된다. But, ..
이전 글에서 [5분 안에 구축하는 Redis(레디스)] 레디스에 대해 알아 보았습니다 이번 시간에는 Redis Sentinel 에 대해 알아 봅시다! Redis Sentinel 은 장애 발생시 운영 서비스에 영향 없도록(=고가용성) 레디스 마스터 모니터링 및 자동 장애 극복 조치 (=Fail-over) 해주는 서비스 입니다. 아래와 같은 아키텍쳐로 구성 합니다. 위와 같은 아키텍쳐로 구성시 한대 서버 장애가 나도 정상적인 운영이 가능합니다. 장애 감지시 sentinel 끼리 투표를 하는데 일정 투표수(=쿼럼::quorum) 이상이 장애 서버라고 동의하면 fail over 작업을(마스터 승격) 진행합니다 (쿼럼이 3일시, fail over 불가) 만약, 죽은 서버를 복구하여 서비스 투입시 아래와 같습니다...
레디스(Remote Dictionary Server)가 무엇인가! - 메모리 기반 저장 서비스 - 키-값 구조 - 문자열만 저장할 수 있는 Memcached와 달리 다양한 자료구조(Collection: 목록성 데이터 처리 구조) 지원 -> 다양한 형식으로 저장 가능 (String, Set, Sorted Set, Hash, List 등) - 오픈 소스 (무료) - 원격(Remote) 저장소로 여러 서버에서 같은 데이터를 공유할 수 있음 - 캐시로 사용 가능 - 메모리에만 저장하는 Memcached와 달리 디스크에도 저장하여 데이터 저장소로 사용 가능 (백업 방식으로 2가지가 존재함.) > 개념만 봤을때 아 ~ 그렇구나 정도지 실제 해보지 않으면 알기 어렵다.. (다음번에 테스트 해볼 예정) RDB AOF ..