본문 바로가기

IT105

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.
[Netflix] Part 3 - Resilient API *https://medium.com/netflix-techblog/making-the-netflix-api-more-resilient-a8ec62159c2d이번 글에서는 Netflix가 제공하는 API를 어떻게 resilient*하도록 만들었는지 소개하려고 한다.*해당 단어의 번역은 회복성 있는 즉, 원상태로 돌아온다는 뜻이지만 원문 그대로가 이해하기 쉬울 것 같아 원문을 그대로 사용한다. Netflix의 내부 서비스에 문제가 발생하면, API에도 영향을 줄 수 있다. 다시 말해서 API에도 영향이 미친다는 것은 사용자에게도 영향을 준다는 의미이다. 때문에 Netflix API 팀은 high availability(고가용성), resiliency(탄력성)을 유지하여 사용자에게 최상의 서비스를 제공하기 위.. 2018. 12. 18.