본문 바로가기

IT/AWS18

[Netflix] EVCache - Intro 이번 포스팅에서는 Netflix에서 오래전에 개발한 EVCache에 대해 조금 자세히 알아보려고 한다. EVCache는 이전 포스팅 (https://timewizhan.tistory.com/entry/Netflix-Distributed-Inmemory-Datastore?category=1026894)에서 간략히 살펴보았듯이 클라우드 환경에서 사용하는 Memcache 기반의 분산 캐시이다. 물론 캐시를 사용하는 목적 자체가 자주 사용하는 데이터를 더 빠르게 가져오는 용도이지만 Netflix에서는 어떤 배경을 가지고 개발을 시작했는지 알아보도록 하자. Netflix 내부적으로 아래와 같은 요구 사항이 존재했다.- 빠른 응답 시간 필요- 세션 기반 앱을 Stateless로 저장 필요- NoSQL 사용 필요그래.. 2019. 3. 11.
[Netflix] Distributed In-memory Datastore 이번 포스팅에서는 Netflix에서 공개한 클라우드 환경에서의 분산형 데이트스토어인 EVCache에 대해 알아보려고 한다. 원문은 해당 페이지를 참조하면 된다.(https://medium.com/netflix-techblog/announcing-evcache-distributed-in-memory-datastore-for-cloud-c26a698c27f7) EVCache는 Netflix에서 개발한 인-메모리 데이터스토어이다. Github에 공개되어 있는 소스 코드를 보면 좀 더 확실히 알 수 있겠지만 기본 문서를 읽어보면 기본 바탕은 memcached로 이루어져 있다. 이를 기본으로 클라우드 환경에서 적절히 사용 할 수 있는 인-메모리 데이터 스토어를 확장한 것이다.(https://github.com/N.. 2019. 2. 23.
[AWS] Kinesis Data Streams - Usage 이번 포스팅에서는 Kinesis 데이터 스트림이 어떻게 쓰이는지 실제 아키텍처 및 사례를 확인해 보려고 한다. 그림 1. Overview of Medical Device Use-Case – Real-Time Analytics 그림 1을 확인해보면 Kinesis에서 제공하는 여러 기능을 확인 할 수 있다. 이 중에서 4번을 면밀히 살펴보면 Kinesis 데이터 스트림이 적용된 것을 확인 할 수 있다. (여기서 공급자는 Kinesis Analytics이고 소비자는 Lambda이다.)간단한 Flow를 살펴보면 Analytics에서 파악한 Anomaly 점수를 데이터 스트림으로 보내고 비즈니스 로직을 처리하는 Lambda에서 점수를 바탕으로 경보를 발생하기 위해 SNS에게 데이터를 전달하는 구조이다. 즉, Io.. 2019. 2. 16.
[AWS] Kinesis Data Streams - Internals 이번 포스팅에서는 Kinesis 데이터 스트림의 내부를 살펴보려고 한다.(참조에서 언급된 자료는 발표 자료를 바탕으로 한다. 그림 1. Kinesis Capacity Kinesis 스트림에 레코드가 들어왔을 때, 그림 1에서 보는 것처럼 기본적으로 레코드에 접근할 수 있는 시간은 24시간이다.그렇지만 최대 168시간 (7일) 까지 늘릴 수 있다. (시간이 늘어나면 비용 또한 늘어난다는 것을 고려해야 한다.) Kinesis는 자체적으로(?) KPL(Kinesis Provider Library), KCL(Kinesis Consumer Library)를 제공하고 있다. 해당 라이브러리는 High Level API로 공급자와 소비자 측에서 Kinesis를 손쉽게 사용 할 수 있게 한다.그런데 https://gi.. 2019. 2. 16.