Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JWT
- 아키텍처
- CI/CD
- Intellij
- Github Actions
- 멀티 모듈
- swagger
- Java
- algorithm
- Kafka
- aop
- springboot
- 테스트 코드
- 객체지향원칙
- trouble shooting
- 프로그래머스
- spring boot
- AWS
- docker
- JPA
- testcode
- Redis
- Til
- EC2
- rabbitmq
- 유효성 검사
- MSA
- querydls
- 어노테이션
- DevOps
Archives
- Today
- Total
개발노트
25.03.06 세션 클러스터링 및 포트 가 다른 서버 간의 세션 공유 본문
세션 클러스트링이란?
세션 클러스터링은 여러 서버에 분산된 애플리케이션 환경에서 사용자 세션 정보를 중앙화하여 여러 서버에서 세션 정보를 일관되게 유지하고 관리할 수 있게 하는 기술이다. 이를 통해 사용자가 여러 서버에 요청을 보냈을 때, 각 서버에서 동일한 세션 정보를 사용할 수 있다
왜 세션 클러스터링을 사용하는가?
MSA에서 각 서비스가 독립적으로 실행되며, 서비스 간의 통신이 빈번하게 이루어진다. 이떄 로드 밸런싱을 사용해 트래픽을 여러 서버나 인스턴스로 분산하는데, 각 요청이 어떤 서비스 인스턴스로 향할지는 예측할 수 없다. 사용자가 여러 서버에 분산된 애플리케이션으로 요청을 보내게 되면, 각 서버 간에 세션 정보를 공유하지 않으면 세션 상태를 유지할 수 없게 된다
그래서 세션 클러스터링을 통해 중앙 집중식으로 세션 데이터를 관리하면, 사용자가 여러 서버로 요청을 보내더라도 동일한 세션 정보를 사용할 수 있게 되어 세션 정보 일관성을 유지할 수 있다
MSA 환경에서 로드 밸런싱을 효과적으로 활용하려면 세션 클러스터링을 통한 세션 정보 공유 및 일관성 유지가 필수적이다.
- 세션 공유 : 여러 서버 간에 세션 데이터를 공유하여 사용자가 여러 서버에 요청을 보낼 때 세션 정보를 일관되게 유지
- 성능 : Redis는 빠른 읽기/쓰기 속도를 제공하므로, 세션 정보에 대한 빠른 처리와 관리를 할 수 있다.
- 확장성 : 수평 확장이 가능한 시스템에서 세션 정보를 중앙화하여 새로운 서버가 추가되거나 제거될 때 일관된 세션 관리를 유지
- 내결함성 : Redis는 복제와 영속성 기능을 제공하여 장애 발생 시 세션 정보를 손실 없이 복구할 수 있다.
'MSA' 카테고리의 다른 글
25.03.12 도메인 주도 설계 ( DDD )란? (0) | 2025.03.12 |
---|---|
25.03.11 Kafka 란? (1) | 2025.03.11 |
25.03.10 RabbitMQ 란? (0) | 2025.03.10 |
25.02.11 CircuitBreaker 란? (0) | 2025.02.11 |
[MSA] SpringBoot 멀티 모듈 프로젝트 구성 (0) | 2025.02.10 |