본문 바로가기

반응형

좋아하는 것_매직IT

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) .. 더보기
6.Redis, NoSQL를 한번 분류해볼께요. ^^ NoSQL 분류는 ? 데이터의 저장 방식에 따라 분류되기도 함. NoSQL은 데이터 접근을 위해 키를 사용함, 키에 저장된 값의 데이터 모델에 따라서 분류하는 방법. 키-값 모델 문서 모델 컬럼 모델 그래프 모델 키-값 모델 가장 기본적인 형태 NoSQL 키 하나로 데이터 하나를 저장하고 조회할 수 있는 단일 키-값 구조를 가짐. 공통특징 키-값 모델 NoSQL에 저장 가능한 데이터의 종류는 각 NoSQL별로 상이함. 대부분 키-값 모델 NoSQL은 단순한 저장구조로 인하여 복잡한 조회 연산을 지원하지 않음. 고속읽기 와 쓰기에 최적화된 경우가 많음. 대부분 저장된 데이터에 대한 검증이나 데이터의 내용에 기반한 조회를 지원하지 않음. 저장된 값을 단지 의미없는 바이너리 데이터로 처리함. 주요 솔루션 레디.. 더보기
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개의 마이크로 서비스로 구성 카탈로그 마이크로서비스 상품에 대한 정보를 관리 고객 마이크로서비스 고객의 데이터를 저장 주문 마이크로서비스 새로운 주문을 수신 받음 카탈로그 / 고객 마이크로 서비스를 사용함. 마이크로서비스는 사용자와 상호작용할 수 있는.. 더보기
12.마이크로서비스, Atom & REST 비동기 통신은 무엇일까? Atom 이란? Atom is the name of an XML-d Web content and data syndication format, and an application-level protocol for publishing and editing Web resources belonging to periodically updated websites. 참고페이지 : https://validator.w3.org/feed/docs/atom.html 블로그에서 구독자가 접근할 수 있도록 개발된 데이터 포맷 Atom 포맷은 매우 유연하기 때문에 다른 타입의 데이터에도 적합함. Atom 데이터 포맷을 기반으로 하는 마이크로서비스의 통합(Atom & REST) 참고페이지 : https://github.com/ewo.. 더보기
11.마이크로서비스, 카프카에 대해서 알아보자. 카프카란? 아파치 재단의 카프카는 pub-sub모델의 메세지 큐 분산환경에 특화되어 설계되어 있다는 특징을 가지며, 그외에 클러스터 구성, fail-over, replication와 같은 여러 가지 특징을 가짐. 카프카의 아키텍처 마이크로서비스영역에서 카프카는 흥미로운 선택. 카프카의 특징 자바로 구현되어 있으며, API는 언어 중립 프로토콜과 함께 사용할 수 있음. 높은 처리량, 낮은 지연시간과 같은 일반적인 기능외에 복제를 통해 개별 서버의 장애를 보완, 더 많은 서버 대수로 확장가능함. 참고페이지 : https:/kafka.apache.org 메시지 기록을 저장함. 레코드를 영구히 보존함. 많은 양의 데이터를 처리할 수 있으며, 여러 서버로 분산 가능. 스트리밍 처리 기능을 갖추고 있음. 애플리케이.. 더보기

반응형