본문 바로가기

반응형

좋아하는 것_매직IT/10.microservice

21.마이크로서비스, 일래스틱 스택을 활용한 로그 분석에 대해서 알아보자 마이크로서비스에서 로그의 특징은? 마이크로서비스의 로그는 기존 시스템에 비해 크게 다름 마이크로서비스 인스턴스는 생성되었다가 종료 및 삭제 될수 있음. 즉, 인스턴스에 로그 데이터를 저장하는 것으로 충분하지 않음. 마이크로서비스 기반의 아키텍처에는 많은 시스템이 존재하므로, 모든 시스템에 로그인 할 수 없으며, 모든 로그파일을 분석하기는 힘듬. 모든 마이크로서비스의 로그를 수집하기 위해서는 중앙 집중식으로 로그가 저장되어야 함. 로그데이터를 분석하기위해서는 커멘드 라인 툴(grep/tail 등등)로는 분석이 힘들 수 있으며, 해결책으로 대용량 데이터 분석을 위한 툴이 필요함. 로그가 툴을 통해 중앙로그 서버에 저장되고 분석되는 경우, 로그는 중앙서버의 로그 포멧에 최적화되어야 함. 마이크로서비스의 로그 .. 더보기
20.마이크로서비스, 프로메테우스를 이용한 모니터링에 대해서 알아보자. 프로메테우스란 ? 시스템 모니터링 및 Alert을 위한 툴킷으로서 경고 문자와 그래프 계산을 지원함. 다차원 데이터베이스를 사용하면 모든 마이크로서비스의 모든 인스턴스에 대한 메트릭을 캡쳐한 다음 특정 타입의 마이크로서비스에 대해 합산가능함. 참고페이지 : http://prometheus.io 기능 및 특성 다차원 데이터 모델을 지원함. 많은 모니터링 솔루션은 모니터링될 시스템 메트릭을 모니터링 시슷템에 저장할 것을 요구함(Push 모델). 그러나 프로메테우스는 풀(Pull) 모델을 가지고 있어서 지정된 간격으로 모니터링되는 시스템의 HTTP 엔드포인트에 데이터를 수집함. Alert Manager는 쿼리를 기반으로 경고 문자를 보내고, 이메일등등 경고 메시지를 보낼 수 있음. 참고페이지 : https:/.. 더보기
19.마이크로서비스, 마이크로서비스아키텍처에서 운영이 중요한 이유는 몰까요? 마이크로서비스 아키텍처에서 운영이 중요한 이유? 마이크로서비스 아키텍처에서의 시스템들은 단일 배포 모놀리스 구조가 아님. 각각 모듈은 별도 설치 및 배포, 운영 및 모니터링 해야하는 이슈가 있음. 마이크로서비스 아키텍처의 이슈 프로젝트가 오랜 기간 지속될수록 코드는 더욱 많아질 수 있고, 크기가 증가 될 수 있음. 위의 이슈 발생의 소지를 차단하려면? 마이크로서비스의 크기가 일정하게 유지되도록 해야하고 마이크로서비스 개수가 증가할 수 있도록 신규 마이크로서비스를 구축해야 함. 마이크로서비스가 개수가 증가하면 증가할수록, 운영의 어려움이 시간이 지날수록 커질 수 있음. 이를 해결하는 방법은? 표준화와 자동화 마이크로서비스의 분산 시스템 마이크로서비스는 로컬 메소드 호출 대신 네트워크를 통해 통신함. 따라서.. 더보기
18.마이크로서비스, PaaS 그리고 클라우드 파운드리를 알아보자 PaaS(Platform as a Service)는 무엇인가? PaaS는 사용자 정의 소프트웨어를 설치하고 실행할 수 있는 플랫폼을 제공함. 개발자는 PaaS에 어플리케이션만 제공됨. 그리고 애플리케이션을 실행할 수 있게 함. 도커나 쿠버네티스와 달리 개발자는 PaaS 운영체제와 PaaS 운영체제에 설치된 소프트웨어를 제어할 수 없음. 런타임 환경에서 애플리케이션을 시작할 때 PaaS가 도커 컨테이너를 생성할 수 있음. 그러나, 어느 JVM과 리눅스 배포판을 결정할지는 오직 PaaS가 결정함. 즉, PaaS는 다양한 타입의 애플리케이션을 실행할 준비가 돼 있어야 함. 그리고 적절한 환경을 생성할 수 있어야함. 최신 PaaS는 다양한 환경을 지원하고 심지어 자체 환경을 구축할 수 있을 만큼 충분히 유연해지.. 더보기
17.마이크로서비스, 쿠버네티스에 대해서 알아보자. 쿠버네티스란? 마이크로서비스의 개발과 운영을 위한 런타임 환경이고 점차 중요성이 커지고 있음. 리눅스 파운데이션(Linux Foundation)에서 관리 구글에서 개발됨. 다양한 확장을 제공하는 쿠버네티스중심으로 광대한 생태계가 펼쳐지고 있음. 도커 컨테이너를 실행할 수 있고, 마이크로서비스를 위한 인프라 구성 가능. 도커에 대한 코드 의존성이 없음. 참고페이지 : https://kubernetes.io 라이선스 아파치 라이선스 버전및 종류 미니큐브 노트북에서 개발과 테스트 시스템을 설치하기 위한 버전. 참고페이지 : https://github.com/kubernetes/minikube kops AWS(Amazon Web Services)와 같은 여러 타입의 환경에서 쿠버네티스 클러스터 설치를 가능하게 .. 더보기
16.마이크로서비스, 마이크로서비스 플랫폼을 알아보자. 마이크로서비스 플랫폼 마이크로서비스의 통신과 운영(배포, 모니터링, 로그 분석등등) 측면을 지원함. HTTP와 REST을 지원함. 로드 밸런싱, 라우팅, 서비스 탐색을 지원함. 마이크로서비스 플랫폼의 2가지 접근 방식 쿠버네티스 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈 소스 플랫폼. 쿠버네티스란 명칭은 키잡이(helmsman)이나 파일럿을 뜻하는 그리스어에서 유래되었다고 함. 구글이 2014년 쿠버네티스 프로젝트를 오픈소스화함. 마이크로서비스의 개발과 운영을 위한 런타임 환경이며, 점차 중요성이 커지고 있는 상황임. 도커 컨테이너를 실행할 수 있으며, 네트워크 레벨에서 로드 밸런싱, 라우팅, 서비스탐색과 같은 문제를 해결할 수 있음. 오퍼레이터스(Operators) .. 더보기
15.마이크로서비스, 컨설과 아파치 httpd서버를 이용한 동기 마이크로서비스 시스템을 알아보자. 컨설(Consul)이란? Go 언어로 작성된 매우 강력한 서비스 탐색 기술이며, 마이크로서비스가 서로 통신할 수 있게 함. 참고페이지 : https://www.consul.io 컨설 코드 https://github.com/hashicorp/consul 확인 가능 기원 해시코프(Hashicorp)의 솔루션 마이크로서비스와 인프라 분야에서 다양한 제품을 제공함. 참고페이지 : https://www.hashicorp.com 해시코프는 컨설을 상업적으로 지원함. 특징 HTTP REST API를 내장하고 있고, DNS를 지원함. 컨설 템플릿을 사용하여, 컨설 설정파일을 생성가능함. 서비스 상태 확인 지원, 상태확인 실패시, 탐색에서 서비스 제외기능 복제를 지원함. 데이터 센터간의 데이터 복제를 지원함. 컨설 템플.. 더보기
14.마이크로서비스, 넷플릭스 스택에 대해서 알아보자. 넷플릭스 스택의 기원 넷플릭스는 온라인 비디오 스트리밍 분야의 고성능과 확장성을 충족하기 위해 신규 플랫폼 개발 넷플릭스 홈페이지 : https://www.netflix.com 최초의 마이크로서비스 아키텍처 중 하나가 됨. 오픈소스 프로젝트 넷플릭스 스택을 발표. 자바를 기반으로 함. 스프링 클라우드에 통합되며, 스프링 부트와 함께 사용하기에 훨씬 쉬워짐. 예시 참고 페이지 : https://github.com/ewolff/microservice 아키텍처 3개의 마이크로 서비스로 구성 카탈로그 마이크로서비스 상품에 대한 정보를 관리 고객 마이크로서비스 고객의 데이터를 저장 주문 마이크로서비스 새로운 주문을 수신 받음 카탈로그 / 고객 마이크로 서비스를 사용함. 마이크로서비스는 사용자와 상호작용할 수 있는.. 더보기

반응형