kok202
[2019.03.04] 오픈소스 서버 기술셋

2019. 3. 4. 21:16[정리] 기능별 개념 정리

오픈소스 기술셋


상황

 비고

스토리지

 NoSQL

 (key, value)

 column family (key,value)에서 value가 (column, value)의 조합

 해쉬 구조기 때문에 order by 가 존재 하지 않음

 대신 order by key/value store가 존재

 Cassandra

 분산형 DB, NoSQL

 Elastic search

 해쉬 테이블 방식의 O(1)

 행 : Document

 열 : Filed

 스키마 : Mapping

 인메모리 DB

 메인 메모리에 설치되어 운영되는 DBMS 

 메모리에 데이터가 상주하기 때문에 디스크 접근 과정이 없어서 빠르다.

 더 높은 예측 가능성 성능을 제공한다.

 하지만 메모리에 상주한다 = 휘발성 데이터다. 라는 뜻이다.

 따라서 전원이 차단될 경우 데이터 손실이 발생한다.

 이를 보완하기 위해 Redis 서버 같은 경우 비휘발성 RAM을 사용하기도한다.

 Redis

 인메모리 DB의 일종

 NoSQL이기도함

 key-value 데이터 관리

 메시지 브로커

 프로세스가 메세지 교환 하는 방법

 송신자-브로커-수신자

 메시지 지향의 미들웨어

 송신자가 브로커에 메시지를 넣어두면

 수신자가 브로커로부터 메시지를 가져오는 방식

 클라이언트의 메시지 처리를 동기 방식으로 처리하면 병목현상이 생긴다.

 클라이언트의 병목 현상은 서버의 성능 저하로 이어진다.

 메시지 브로커는 Message Queuing 시스템으로 이런 현상을 막기 위해 개발되었다.

 하지만 전통적인 RPC를 대체하지는 않는다.

 RabbitMQ

 비동기 데이터 처리, (채팅), 배치 작업

 Kafka

 대용량 실시간 로그 처리에 특화 된 메시지 시스템

 시각화

 Grafana

 elastic search 등의 대시보드 작성을 위한 솔루션

 Kibana

 elastic search 시각화

 배포툴

 

 Ansible

 파이썬으로 구현된 IT 자동화도구

 테스트 환경을 구축하는데 사용되는 툴

 inverntory : 어디서 앤서블을 실행하는가, 원격 서버의 메타데이터 기술

 module : 무엇을 앤서블에서 실행하는가

 playbook : 어떻게 앤서블을 실행하는가, 간단한 설정 관리, 배포 시스템 단위

 task : Ansible 모듈 호출

 ad-hoc : 임시적으로 수행

 AWX

 Ansible 프로젝트 관리를 위한 소프트웨어관계 데이터 수집

 분산 로그 추적

 Zipkin

 하나의 리퀘스트가 시작해서 나가기까지 파이프 라인이 있다.

 이 파이프 라인에는 중간 중간 어떤 레이어들을 거쳐 수행될 것이다.

 전체 파이프라인을 모니터링 한다고 생각해보자.

 각각의 레이어들이 언어나 플랫폼이 다를 경우 문제가 생긴다. 

 언어, 플랫폼에 구애 받지않고 전체를 모니터링 가능하도록 하게하고 싶다.

 이를 오픈 트레이싱 이라고 한다.

 대표적인 오픈 트레이싱 = Zipkin

 Trace : 어떤 트랜잭션

 Span : 어떤 트랜잭션의 depth 




오픈소스 관련 조대협님 티스토리

Zipkin https://bcho.tistory.com/1244?category=502863

카산드라 https://bcho.tistory.com/440?category=431286

NoSQL https://bcho.tistory.com/665




Ansible + AWX 는 Docker + Kubernetes와 뭐가 다를까?

= Ansible + AWX 는 서버 가상화를 상정하지 않는다.

= 딱 그 서버에 설치된 OS를 쓴다.


'[정리] 기능별 개념 정리' 카테고리의 다른 글

Vault  (0) 2020.02.24