Data Engineering/Server 5

GSLB - Route53으로 여러 라우팅정책 구현해보기

GSLB란? GSLB는 Global Server Load Balancing으로 로드밸런서가 아니라 전세계 어디에서든지 빠르고 신뢰성 있는 응답을 제공하기 위한 지능적인 DNS이다. 대부분으로 글로벌 DNS 브랜드는 GSLB를 제공하고있다. 통상적으로 아래와 같은 기능들을 제공한다. Performance : 클라이언트의 요청을 네트워크상 가까운 서버로 연결할 수 있다. 트래픽을 지역에 맞게 분산해서 연결할 수 있다. Customized Content : 지역/언어별로 커스텀한 콘텐츠를 자동으로 제공할 수 있다. Disaster Recovery : 장애가 발생했을 때 다른 지역의 서버로 redirect해서 HA(고가용성) 구성이 가능하다. Maintenance : 연결 규칙이나 구성이 변경 가능해야한다. C..

AWS Route 53으로 DNS 사용해보기

이번에는 AWS의 Route53으로 DNS를 사용해보려고 한다. 아래 공식문서를 참고하였다. https://docs.aws.amazon.com/ko_kr/Route53/latest/DeveloperGuide/domain-register.html 새 도메인 등록 - Amazon Route 53 등록자 연락처는 이메일의 지시 사항에 따라 이메일을 받았다는 사실을 확인해야 합니다. 그렇지 않으면 ICANN에서 요구할 경우 도메인 이름이 일시 중지해야 합니다. 도메인이 일시 중지되면 인 docs.aws.amazon.com 1. Router53 DNS 생성하기 우선 DNS를 생성해야한다. Router53 Dashboard 또는 Registered Domain 페이지에 접속한다. Register Domain에서 원..

DNS의 원리와 과정에 대해서 알아보자

DNS 원리 우선 DNS란, 도메인 네임(hostname)을 IP 주소로 바꿔주는 시스템이다. 도메인 네임은 단순히 사람이 기억하기 쉽게 되어있기 때문에 그것만으로는 정확한 서버를 찾아갈 수 없다. 그래서 컴퓨터가 인식할 수 있는 주소인 IP 주소가 필요하다. 크게 1) Resolver 2) Root Nameserver 3) TLD Namesercer 4) authoritative Nameserver 로 나눌 수 있다. 1. DNS Resolver(Recursor) 클라이언트로부터 요청을 받는 서버이다. 이때 이미 처리한 적있어 캐시에 남아있는 주소에 대해서는 빠르게 처리한다. 2. Root Nameserver 도메인네임(hostname) 중에서 .com 등 뒤에 부분을 보고 해당 주소에 대해 알 것 같..

Redis 여러 응용 방법 - Sliding window rate limiter, HyperLogLog

Sliding window rate limiter 구현 레디스의 sorted set 자료구조를 이용해서 sliding window rate limiter를 구현할 수 있다. 우선 Rate Llimiter란, 단위 시간당 요청 및 처리량에 제한을 두기 위한 소프트웨어적 기법이다. 악성 사용이나 비정상적인 동작에 의한 시스템 및 로직의 문제 등을 사전에 방지하고자 할 때 가장 기초적인 방법이다. 대표적인 사례들로는 결제시스템이나 로그인의 단위 시간당 시도 횟수 제한 등이 있다. Sliding Window는 window 즉 창문과 같은 직사각형이 슬라이딩하듯 움직이는 거라고 생각하면 된다. 정확히는 현재 처리하고자 하는 양을 window로 제한하ㅏ고 이를 시간의 구간을 연속적으로 이동하는 것이다. 대표적인 사..

CacheDB - Redis로 빠르게 데이터 불러오기

이번에는 CacheDB인 Redis를 이용해서 데이터를 빠르게 조회하는 방법에 대해 알아볼 예정이다. Cache란? 우선 Cache는 데이터가 미래에 사용될 것이라고 예상하여 미리 빠르게 조회할 수 있도록 따로 저장해두는 것을 말한다. 여기서 Cache hit 은 조회하는 데이터를 캐시에서 발견했을 때 Cache miss 는 발견하지 못했을 때 Hit rate(ratio)는 access시도 횟수 대비 hit를 성공한 비율이다. Cache의 사용 사례 캐시는 CPU 칩 내부에서 디스크의 접속 시간을 줄이고자 내부의 캐시메모리로 메모리 IO에 의한 속도를 줄일 때 사용된다. 데이터베이스에서 인덱싱 데이터는 메모리에 올려두고 관리하기 때문에 인덱싱 기준으로 조회하면 조회 속도가 빠르다. 웹 브라우저에서도 최근..