Redis6 Springboot + Redis + Kafka 설치부터 설정, 실행 과정 최근 수정이 적고 반복적으로 질의 되는 DB 데이터를 Cache할 일이 생겼습니다. 어떤 방식으로 할까 고민하다. 최근 많이 사용되는 Redis Cache, Kafka 방식을 선택하였고 그 과정을 간단하게 기록으로 남깁니다. 애플리케이션이 A, B 두개가 있다고 가정하고 B에서는 API를 통해 반복적으로 조회가 일어납니다. 반복적인 질의는 불필요하므로 캐시를 적용합니다. 이때, A서버에서 데이터의 저장, 수정, 삭제 등과 같은 트랜잭션이 일어나게 되면 Kafka를 통해 B 서버로 변경을 알리게 됩니다. B서버는 이를 감지하고 Redis 캐시를 무효화 하고 새롭게 데이터를 Redis Cache에 적재합니다. Redis 설정Redis 설치Redis는 메모리 내 데이터 구조 저장소로, 캐시, 데이터베이스, 메.. 2024. 10. 16. Pub&Sub Pub&Sub 패턴 메시징 모델중의 하나로 발행과 구독 으로 개념화한 형태 발행자와 구독자는 서로에 대한 정보 없이 특정 주제(토픽, 채널)를 매개로 송수신 Pub&Sub ( 발생과 구독 ) 메시징 미들웨어의 장점 비동기 : 통신의 비동기 처리 낮은 결합도 : 송신자와 수신자가 직접 의존하지 않고 공통 미들웨어에 의존 탄력성 : 구성원들간의 느슨한 연결로 인해 일부 장애가 생겨도 영향을 최소화 함 메시징 미들웨어 제품 종류 : Kafka, RabbitMQ, ActiveMQ ... Redis&Pub 의 특징 메시지가 큐에 저장되지 않음 Kafka 컨슈머 그룹 같은 분산 처리 개념이 없음 메시지 발행시 push 방식으로 subscriber에게 전송 메시지 구독이 늘어날 수록 성능 저하 발생& 구독의 특징 R.. 2023. 12. 11. 분산 환경에서 세션 스토어 만들기 세션 ( Session ) 세션은 사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 브라우저를 종료하여 연결을 끊을 때 까지의 일련의 과정을 의미합니다. 세션을 통해 웹 서버는 각각의 사용자 정보를 일정 시간 동안 유지할 수 있습니다. 주요 특징 네트워크 상에서 두 개 이상의 통신 장치간에 유지되는 상호 연결을 의미 연결된 일정 시간 동안 유지되는 정보를 나타냄 적용 대상에 따라 다른 의미를 가짐 사용자 식별 : 웹은 기본적적으로 상태가 없는 (stateless) 프로토콜 입니다. 즉, 두 개의 페이지 요청 사이에 사용자 정보가 저장되지 않습니다. 세션을 사용하면 사용자마다 고유한 세션ID를 부여하고 사용자를 식별 및 그에 따른 정보를 저장할 수 있습니다. 데이터 저장 : 사용자의 정보, 로그인 상.. 2023. 12. 11. Redis 설치 및 문법 Redis 설치 소스와 바이너리 형태로 제공됨 주로 Linux에 설치해서 사용 소스 빌더, 바이너리 다운로드, 패키지 관리자 등 다양한 방법으로 설치 가능 리눅스 설치 wget https://download.redis.io/releases/redis-6.2.4.tar.gz tar xzf redis-6.2.4.tar.gz make redis-6.2.4 MacOS Redis 설치 brew install redis MacOS Docker을 이용한설치 ( 추천 ) Docker Desktop 다운로드 하여 설치 ( https://www.docker.com ) 도커 실행 화면 설치가 끝났다면 터미널에서 docker version 명령어 입력하여 도커의 정상 설치 여부를 확인 합니다. docker version do.. 2023. 12. 11. 이전 1 2 다음