전체보기(194)
-
Sticky Session
Sticky Session이 나오게 된 배경 일반적으로 대용량 트래픽을 장애 없이 처리하기위해 여러 대의 서버에 적절히 트래픽을 분배하는 로드 밸런서를 사용합니다. 그림으로 살펴보면 아래와 같은 상태로 서버가 구성되어 있을 수도 있습니다. 이렇게 로드 밸런싱이 필요한 서비스에는 세션 관리에 문제가 생길 수도 있습니다. 먼저 로그인 요청을 A 서버로 보냅니다. A 서버의 세션에는 martin이라는 값이 저장됩니다. A 서버에서는 로그인 성공이라는 응답을 보냅니다. 동일한 클라이언트는 로드 밸런서에 새로운 요청을 보냅니다. 그러나 이 요청은 C 서버로 전달됩니다. C 서버의 세션에는 이 사용자가 로그인 한 사용자라는 정보가 없기 때문에, 조회 실패 후 로그인 페이지로 리다이렉트 하도록 응답을 보 냅니다. 위..
2021.03.09 -
Local Cache와 Global Cache
Caching이란 Caching은 애플리케이션의 처리 속도를 높여줍니다. 이미 가져온 데이터나 계산된 결과 값의 복사본을 저장함으로써 처리 속도를 향상시키며, 이를 통해 향후 요청을 더 빠르게 처리할 수 있습니다. 대부분의 프로그램이 동일한 데이터나 명령어에 반복해서 액세스하기 때문에 Caching은 효율적인 아키텍처 패턴입니다. Local Cache Local Cache는 서버 마다 Cache를 따로 저장하는 방법입니다. 각 서버 장비의 Resource(Memory, Disk)를 이용하기 때문에 다른 서버의 Cache를 참조하기 어렵습니다. 해당 서버 내에서 작동하기 때문에 Global Cache에 비해 속도가 빠릅니다. 캐시에 저장된 데이터가 변경되는 경우에는 해당 서버를 제외한 모든 peer에 변경..
2021.03.07 -
STOMP
STOMP의 개념 STOMP(Simple/Stream Text Oriented Messaging Protocol)은 간단한 문자 기반 메시징 프로토콜입니다. STOMP는 TCP나 WebSocker과 같은 신뢰성 있는 양방향 streaming network protocol에 사용될 수 있습니다. STOMP의 특징 기존 AMQP나 MQTT와 같이 binary 기반이 아닌 텍스트를 기반으로 하는 프로토콜 HTTP와 같이 프레임을 사용해 전송하는 프로토콜(프레임이란 주소와 명령, 명령 수행을 위한 데이터가 포함된 데이터를 의미) 기본적으로는 텍스트 기반 통신을 사용하지만 바이너리 기반 통신도 지원 STOMP의 Frame 구조 STOMP Frame은 Header, Command, Body로 구성됩니다. Frame..
2021.03.06 -
접근 통제 모델
접근 통제 모델이란 접근 통제 모델의 개념 접근 통제 모델이란 프레임워크로 주체가 어떻게 객체에 접근하는지를 설명하는 모델을 말합니다. 이 모델들을 통해 주체의 객체 사용에 대한 엄격한 정의를 내리게 됩니다. 주체가 객체에 접근하려는 접근 시도가 생성되면 이를 허용할 것인지를 결정하기 위해 접근 통제 모델을 이용하게 됩니다. 접근 통제 모델 기술에는 강제적 접근 통제(MAC), 임의적 접근 통제(DAC), 역할기반 접근 통제(RBAC)등이 있습니다. 접근 통제 모델의 종류 MAC(강제적 접근 통제) MAC란 보안 레이블과 보안 허가증을 비교하여 접근 제어를 하는 것을 말합니다. 보안 레이블이란 특정 시스템 자원이 얼마나 중요한 자원인지를 나타내는 정보이고, 보안 허가증이란 어떤 시스템 개체가 특정 자원에..
2021.03.05 -
User-Agent Header
User-Agent란 User-Agent의 개념 User-Agent 필드는 요청에 기반한 사용자 에이전트에 관한 정보를 포함하고 있는 정보입니다. User-Agent는 상호운용성 문제의 범위를 식별하고, 특정 사용자 에이전트 제한을 피하기 위해 응답을 조정하거나 재단하고, 브라우저나 운영체제 사용에 관한 분석을 위해 서버에 의해 사용됩니다. User-Agent 필드 값은 하나 이상의 제품 식별자로 구성되어 있으며, 각각은 0개 이상의 주석이 있고 사용자 에이전트 소프트웨어와 중요한 하위 제품을 함꼐 식별합니다. 일반적으로 제품 식별자는 사용자 에이전트 소프트웨어를 식별하는 중요성에 대한 내림차순으로 나열되어있습니다. User-Agent의 용도 웹 브라우저의 종류에 따라 다른 웹 페이지를 제공합니다. 운영..
2021.03.03 -
Redis
Redis란 Redis의 개념 Redis는 메모리 기반의 "key-value" 구조의 데이터 관리 시스템이며, 모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 비 관계형 데이터베이스입니다. Redis는 크게 String, Set, Sorted Set, Hash, List의 5가지 데이터 형식을 지원합니다. Redis의 특징 영속석을 지원하는 인메모리 데이터 저장소입니다. 읽기 성능 증대를 위해 마스터 / 슬레이브 형태의 서버 측 복제를 지원합니다. 마스터에서 쓰기가 수행되면 슬레이브 데이터 세트를 실시간으로 업데이트하기 위해 연결된 모든 슬레이브로 전송됩니다. 쓰기 성능 증대를 위해 클라이언트 측 샤딩을 지원합니다. String, Set, Sorted Set, Has..
2021.02.19