아키텍쳐 143

Circuit breaker 패턴을 이용한 장애에 강한 MSA 서비스 구현하기 #1 - Circuit breaker와 넷플릭스 Hystrix

Circuit breaker 패턴을 이용한 장애에 강한 MSA 서비스 구현하기 #1 Circuit breaker와 넷플릭스 Hystrix조대협 (http://bcho.tistory.com)MSA에서 서비스간 장애 전파마이크로 서비스 아키텍쳐 패턴은 시스템을 여러개의 서비스 컴포넌트로 나눠서 서비스 컴포넌트간에 호출하는 개념을 가지고 있다. 이 아키텍쳐는 장점도 많지만 반대로 몇가지 단점을 가지고 있는데 그중에 하나는 하나의 컴포넌트가 느려지거나 장애가 나면 그 장애가난 컴포넌트를 호출하는 종속된 컴포넌트까지 장애가 전파되는 특성을 가지고 있다. 이해를 돕기 위해서 아래 그림을 보자 Service A가 Service B를 호출하는 상황에서 어떤 문제로 인하여 Service B가 응답을 못하거나 또는 응답 ..

분산 로그 & 데이타 수집기 Fluentd

분산 로그 수집기 Fluentd 소개 조대협 (http://bcho.tistory.com) 요즘 들어 빅데이타 분석 관련 기술들을 보다보니, 역시나 여러 데이타 소스에서 데이타를 수집해 오는 부분이 여러 데이타 소스를 커버해야 하고, 분산된 여러 서버에서 데이타를 수집해야 하는 만큼 수집 컴포넌트의 중요성이 점점 더 올라가는 것 같다.그래서 요즘 빅데이타를 위한 데이타(및 로그) 수집 플랫폼을 보고 있는데, 예전 Flume 등 여러 로그 수집 솔루션이 있었는 것에 비해서 조금 정리된 느낌이라고나 할까? Scribed, Fluentd 그리고 ELK (Elastic Search + Logstash + Kibana 조합)에서 사용되는 Logstash등이 있는데, 대부분 Fluentd와 Logstash로 수렴 ..

MSA의 중복 개발에 대한 단상

MSA의 중복 개발에 대한 단상 조대협 (http://bcho.tistory.com) 어제 우연한 기회로, API Academy 세미나에 다녀왔습니다.발표자는 Mike Amundsen 이라는 분으로, CA의 API 아카데미의 일원이며, OReilly 출판사를 통해서 REST API에 대한 저서를 집필한 분이기도 합니다.http://www.oreilly.com/pub/au/1192 API 아카데미였지만, 결국 MSA와 조직 문화 소통으로 수렴되는 내용이었습니다만, MSA 에 관련하여 재미있는 접근이 있어서 남겨놓고자 합니다. 예로 든것중의 하나가 API를 외부용, 내부용, 그리고 특정한 파트너용 3가지로 나누어서 접근을 하였는데, 이 접근 방식보다 특이했던 것이 구현의 주체입니다. 일반적인 생각으로는 유사..

모바일 앱 개발을 지원하는 - Twitter fabric overview

트위터 모바일 SDK 서비스 패브릭에 대한 소개 조대협 (http://bcho.tistory.com) 트위터에서는 2014년 부터, 모바일 생태계 지원을 위해서 다양한 기능을 제공하는 Fabric 서비스를 제공하고 있다. 데이타 분석 및 리포팅, 트위터 연동등 다양한 기능을 제공하고 있는데, 대략적인 프로덕트들에 대한 기능과 특징을 살펴보고자 한다. Crashlytics - Crash Reporting (https://fabric.io/kits/android/crashlytics) 모바일앱에 대한 크래쉬 내용에 대한 수집 및 분석 기능을 제공한다. 특이한 사항으로는 크래쉬 분석 뿐만 아니라, 베타 사용자나 테스터들에게 앱을 배포할 수 있는 기능을 제공하고 베타 테스트 사항을 추적할 수 있는 기능을 제공한..

모바일 데이타 분석 및 사용자 분석

쉽게 이해하는 모바일 데이타 분석 조대협(http://bcho.tistory.com) 모바일 서비스 비지니스를 진행함에 있어서 가장 중요한 것중 하나는 지표에 따른 의사 결정과 서비스 개선이다. 이를 위해서, 어떤 지표들이 필요한지 정의하고 어떻게 측정할지에 대한 정확한 이해가 필요한데, 이 글에서는 모바일 서비스 리포팅에 대해 어떤 지표가 있고 어떻게 활용해야 하는지, 그리고 이런 지표를 수집 분석하기 위한 도구들에 대해서 설명하도록 한다. 모바일 서비스에서 단계별 사용자 흐름 먼저 지표를 이해하기 전에, 사용자가 모바일 서비스 가입부터 사용에서 부터 이익을 내줄때 까지 어떤 흐름을 거치는지에 대해서 살펴볼 필요가 있다. 여러 글들이나 서비스들에서 다소 용어 차이는 있지만 대부분 아래와 같이 단계를 정..

MySQL 클러스터링을 위한 Galera Cluster

MySQL Galera Replication 조대협 (http://bcho.tistory.com) RDBMS 오픈소스 중에서 단연 가장 많이 사용되는 것은 MySQL인데, 근래에 웹 스케일이 커지면서, 단일 인스턴스로만 서비스가 불가능한 용량까지 가게 되서, 이 MySQL에 대한 클러스터링 스케일링에 대한 이슈가 많아졌다. 이에 Tungsten, MySQL Replication, NDB, Galera 등 다양한 클러스터링 방법이 있는데, 그중에서 갈레라 클러스터링 (Galera Clustering)에 대해서 간단하게 정리하고자 한다. MySQL Replication 갈레라 클러스터링을 이해하기에 앞서서 먼저 가장 널리(그리고 쉽게) 사용되는 MySQL Replication 방식에 대해서 알아보자. MyS..

아키텍쳐 2015.11.18

모바일 개발 트렌드

모바일 개발 트렌드에 대한 예측 조대협 (http://bcho.tistory.com) 시장 환경 2016년 모바일 개발 트렌드에 대해서 언급하기 앞서서 전체적인 모바일 비지니스 변화를 지켜볼 필요가 있다. 모바일 스타트업 중심의 개발 트랜드가 계속 여러 유니콘(실리콘 밸리에서 급속도로 성장하고 있는 스타트업)들의 실적 약화에도, 내년에도 변함없이 계속해서 스타트업 생태계는 확장이 되어갈 것이고, 그 중심에 모바일 앱이 있을 것 이라고 본다.많은 모바일 앱들은 톡톡 튀는 아이디어와 새로운 기술들로 무장한 스타트업을 중심으로 개발이 될것이라고 보는데, 모바일 스타트업의 특성상 필요한 몇가지 요구 사항이 있고, 이 요구 사항을 채워주는 기술 위주로 내년은 기술 트랜드가 발전하지 않을까 싶다. 모바일 중심의 스..

대용량 서비스의 트래픽을 줄이는 이미지 최적화 기술 Web-P

대용량 서비스의 트래픽을 줄이는 이미지 최적화 기술 Web-P 조대협 (http://bcho.tistory.com) 대용량 트래픽 서비스를 하다보면, 항상 고민하게 되는 것이 인프라 운영 비용에 대한 문제이다.특히 미디어 서비스의 경우, 네트워크 트래픽을 유발하는 이미지나 동영상에 대한 CDN과 네트워크 비용이 문제가 되고, 사용자 입장에서도 모바일 3G/LTE 망을 통해서 이미지나 동영상을 다운로드 받는 경우, 데이타 사용량에 실제로 연관이 되기 때문에 점점 더 멀티미디어 파일 포맷에 대한 용량 최적화가 문제로 대두 되고 있다. 그중에서, 이미지 압축 방식으로 GIF,JPEG/PNG을 대체할 이미지 포맷으로 BNG,구글 Web-P, Microsoft JPEG-X 등이 소개되고 있는데, 이 중에서 Web..

마이크로서비스 아키텍쳐(MSA)는 선택이 아니라 필수다

마이크로서비스 아키텍쳐에 대한 소고 간만에 낚시성 제목을 달아봤는데, MSA (마이크로 서비스 아키텍쳐)가 필수라는 이야기는 꼭 틀린말이라고 볼 수 는 없습니다. 특히나 개발팀의 규모가 큰 경우나, 지리적으로 개발팀이 나눠져 있는 경우에는 서비스 단위로 나눠서 각 팀이 서비스를 개발하고, 독립된 기술과 개발 체계를 가지면서 빠르게 개발해 나가는게 효율적이기 때문에, 규모가 어느정도 되는 팀에서는 효율성이 높습니다. 중앙에서 통제할 필요 없이, 각자가 알아서 설계하고, 만들고, 테스트 하고 운영하기 때문입니다.이것을 분산 거버넌스라고 하는데, 관리나 의사결정의 권한을 중앙의 팀이 중앙 통제하지 않고, 각자의 팀에 자율적으로 맏기고, 책임도 맏긴다는 이야기 입니다. 그러면 분산 거버넌스를 하면,중앙 거버넌스..