전체 글114 [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. [Netflix] Part 5 - API 배포 준비 * https://medium.com/netflix-techblog/preparing-the-netflix-api-for-deployment-786d8f58090dNetflix에서 API 배포를 준비하면서 고민했던 부분들에 대해 소개하는 글이다. 그림 1. API Hourglass 그림 1에서 쉽게 확인 할 수 있듯이, Netflix 뿐만 아니라 API는 사용자와 백엔드 서비스간에 중요한 소통 창구* 이다.*API에 의해 양 끝단(endpoint)이 많은 영향을 받을 수 밖에 없다.이러한 API 역할로 인해 서비스의 기능 추가/삭제시 API 또한 맞춰서 작업을 진행해야 한다. 그래서 다음과 같은 고려가 필요하다.- 기존에 사용하고 있는 사용자들에게 영향을 주지 않고 API 수정 및 배포가 이루어져야 함 .. 2018. 12. 22. Circuit Breaker 패턴 클라우드 환경에서 종종 등장하는 Circuit Breaker 패턴에 대해 알아보려고 한다.보다 자세히 알고 싶다면 아래 URL을 확인하면 된다.* https://martinfowler.com/bliki/CircuitBreaker.html* https://itnext.io/understand-circuitbreaker-design-pattern-with-simple-practical-example-92a752615b42* https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern 클라우드 환경에서 서비스간 또는 프로세스간 원격 호출하는 것은 일반적이다. 하지만 원격 호출의 문제는 호출이 실패했을 경우 timeout이 발생할 때까지 응답이 없다*는 것이다. .. 2018. 12. 20. [Cache] memory와 cache 관계 * https://www.programcreek.com/2012/10/how-is-an-array-stored-in-memory-and-brought-to-cache/Cache에 관한 괜찮은 글을 있어서 소개하려 한다. 그림 1. Diagrams for memory and cache 그림 1을 보면 메모리의 8x8 배열이 있다. 여기서 CPU가 A[0][7]에 해당 하는 값이 필요하면, A[0][7]을 포함하는 block이 cache로 이동한다. (그런데 cache가 block당 8개의 값을 가지므로 A[0]의 row값 전체가 cache로 이동된다.) 그림 2. CPU Request 그림 2는 CPU가 메모리로부터 어떻게 byte 값을 가져오는지 보여준다. 위 그림을 통해 CPU 요청에 의해 메모리가 어.. 2018. 12. 20. [Netflix] Part 4 - Fault Tolerance *https://medium.com/netflix-techblog/fault-tolerance-in-a-high-volume-distributed-system-91ab4faae74a이번 글에서는 Netflix 분산 시스템에서 fault tolerance 수행하기 위해 고민했던 흔적을 소개해보려고 한다. 이전 글에도 언급했듯이, API는 서비스에 문제가 발생했을 때 영향을 받을 수 있다. 특히, SOA(Service-Oriented Architecture) 환경에서는 더더욱이나 서비스의 문제가 API를 더 취약하게(vulnerable)하게 만들 수 있다.Circuit breaker 패턴을 사용하여 API를 resilient하도록 한 것 이외에도 내부적으로 장애를 어떻게 격리하고 부하를 줄일 수 있는지 등에.. 2018. 12. 19. 이전 1 ··· 15 16 17 18 19 다음