본문 바로가기

분류 전체보기114

[AWS] ElastiCache Redis Cluster ElastiCache Redis ClusterAWS의 Managed Service인 ElastiCache에서 Redis를 Cluster 모드로 적용하여 사용할 수 있다. 그림 1. ElastiCache Redis Cluster 위의 그림 1에서도 확인 할 수 있듯이, AWS에서 Redis는 Cluster 모드를 사용하지 않을 때에는 Replication만 적용할 수 있지만 Cluster 모드를 사용할 때에는 Replication 뿐만 아니라 Data Partitioning 또한 적용 할 수 있다. (물론, Redis Cluster 자체가 데이터 분산을 위한 방법이긴 하지만.)Redis Cluster 구성에 대한 자세한 부분은 아래 글을 참조해보자. ShardShard는 단순히 관련된 Node의 집합이다... 2019. 1. 6.
[Redis] Cluster Redirection RedirectionClient는 모든 Cluster Node에게 요청 메시지(Query)를 보낼 수 있다. (Master, Slave 다 포함해서)이전 포스팅에서도 언급했지만 Cluster Node는 Cluster 내의 모든 Node와 통신을 하기 때문에, 즉 각 Node의 상태를 알고 있기 때문에 Client가 어떤 Node에 접근하든 상관하지 않는다.다만, Redis Cluster가 Hash Slot을 사용하기 때문에 요청 메시지의 Key 값이 접근하는 Node 에 존재하지 않을 수 있다.이런 경우에 요청 받은 Node는 Node Map을 확인하고 MOVED 에러를 발생시킨다. 그림 1. MOVED Error 위 그림 1을 확인해보자.Redis Client가 Node 0에 접근하여 Slot 1에 해.. 2019. 1. 6.
[Redis] Cluster Overview Redis ClusterRedis에서 사용하는 Cluster 즉, Clustering은 데이터를 분산시키는 방법이다. (분산 시스템처럼)때문에 Redis에서는 한 곳의 Node 자원만 사용하는 것이 아닌 다른 Node 자원 또한 사용하여 전체 computing 자원을 최대한 사용하려 한다. 그림 1. Redis Cluster (+ Node 1과 통신 환경) Redis Cluster를 간략하게 그린 그림 1을 보면 computing 자원을 최대한 사용한다는 의미를 알 수 있다. 예를 들어 각각의 Computer가 64GB의 메모리를 가진다면 총 10 대의 Computer라고 가정했을 때 우리는 최대 640GB의 메모리를 사용 할 수 있다.그림 1로 따진다면 우리는 최대 256(64 * 4)GB를 사용 할 .. 2019. 1. 6.
[Netflix] Part 6 - API 배포 * https://medium.com/netflix-techblog/deploying-the-netflix-api-79b6176cc3f0 이번 글에서는 Netflix가 선택한 API 배포 techniques에 대해 소개한다. 이전 글을 보았다면 Netflix에서 API의 위치를 확인할 수 있다. (아래 참조)http://timewizhan.tistory.com/entry/Netflix-Part-5-API-%EB%B0%B0%ED%8F%AC-%EC%A4%80%EB%B9%84?category=1026894 이처럼 Netflix는 API를 배포할 때, 보다 빨리 운영 환경에 적용하고 발생 할 수 있는 여러 risk를 최소화하기 위해 7가지 방법을 사용한다. Moving Toward Continuous Deliv.. 2018. 12. 24.