목록IT (81)
♥️7분 빠른 소식 전달해 드립니다♥️
키바나는 Elastic Stack의 일부분으로, 저장 계층인 Elastic Search에 색인된 데이터 위에서 시각화 계층을 제공합니다. 데이터는 다양한 형태와 규모로 다가옵니다. 통신 업계의 경우, 10만 개의 네트워크 디바이스에서 수집한 데이터로부터 서비스 품질을 분석하는 프로젝트는 흔히 볼 수 있습니다. - 빠르게 증가하는 데이터를 취급하기 위해 복잡성을 어떻게 줄일 것인가? - 가장 효과적이면서 실시간으로 데이터를 시각화하기 위해 조직은 어떻게 해야 할까? 대부분의 애플리케이션은 위치와 프로파일에 기반을 둔 추천 항목을 만드는데 관련된 다양한 기술 계층에서 데이터를 생산합니다. 이들 위에서 돌아가는 모든 컴퓨터와 프로세스와 애플리케이션은 CPU 틱이나 사용자의 클릭에 의해 효과적으로 시스템의 '현..
Elastic Search의 이용 - 위키피디아: ElasticSearch를 이용해 전문검색(Full Text Search)을 수행하고 실시간 타이핑 검색, 추천 검색어 기능 등에 활용 중. - 더가디언지: 방문객의 로그 분석을 통한 소셜 데이터를 생성해 실시간 응대와 기사에 대한 반응 분석 등에 ElasticSearch를 사용 중. - 스택오버플로우: 검색 내용과 결과를 통합해 유사한 질문과 해답을 연결하는데 ElasticSearch를 활용. - 깃허브: 1,300억 줄이 넘는 소스 코드를 검색하는데 ElasticSearch를 사용 중. http://www.elasticsearch.org/case-studies Search Engine 아키텍처 (https://www.searchtechnologies...
ElasticSearch에서의 검색은 인덱스/타입 단위로 수행됨. Document는 그 자체가 1개의 최소 데이터 단위이므로 Document 단위로 검색한다는 것은 불가능. 클러스터의 모든 인덱스는 _all 로 검색 가능. $ curl 'localhost:9200/_all/_search?q=time&pretty' ElasticSearch URI 검색 q(query) 특정 필드만 검색하려면 q 매개변수에 필드명:질의어 형식으로 값을 일력한다. title 필드에서 검색어 time을 검색하는 명령 $ curl 'localhost:9200/_search?q=title:time&pretty' $ curl 'localhost:9200/_search?q=title:time%20AND%20machine&pretty' ..
엘라스틱 서치는 실시간 검색을 제공하면서 집계 기능을 제공하고, 시스템 확장에도 용이하여 로그 시스템 개발에 활용하기 적합하다. 결과에 대한 통계를 제공해서 사용자가 흥미를 느끼는 것에 대해 범위를 좁혀 갈 수 있어야 한다. 데이터 검색을 위해서는 몇가지 이슈를 다루어야 한다. 관련 검색 결과를 내놓고, 통계를 제공하고, 빠른 처리 속도가 필요하다. 이러한 경우 엘라스틱서치와 같은 검색엔진을 사용하는 것이 적합하다. 관계형 데이터베이스 위에 검색엔진을 배포해서 색인을 생성하고 SQL 질의 속도를 올릴 수 있다. 검색 기능을 추가하기 위해서 NoSQL 저장소의 데이터 색인을 만들 수 있는데, 엘라스틱서치에서 모두 사용 가능한 기능이다. 앨라스틱서치 클러스터를 색인/검색/관리 하기 위해 데이터를 JSON 형..
컨테이너란? 개발, 배포하는 소프트웨어 패키지들의 표준. OS 커널 하나에 여러개의 컨테이너가 격리된 상태로 병리되어 실행될 수 있는 개념. 컨테이너는 VM 보다 가볍고 빠르다. 컨테이너는 리눅스 커널에서 제공하는 기능으로, 도커는 컨테이너라는 기술을 이용한 오픈소스이다. 도커는 컨테이너를 이미지 파일로 빌드/배포하도록 한다. 도커 이미지 규격에 따라 git 저장소 처럼 build/push/pull하는 것도 가능하다. 비슷하게 리눅스 컨테이너를 활용한 rkt, lxc, lxd 오픈소스도 존재하지만 도커만큼 많이 사용되고 있지는 않다. 기존 Virtual Machine의 경우는 모든 VM이 자신의 OS를 별도로 가지고 있다면, 컨테이너의 개념은 단일 HOST OS 위에 애플리케이션 + 바이너리/라이브러리가..
컨테이너 네트워크 모델 (CNI) - Sandbox는 Container의 Network Stack을 의미한다 (ex. Interface, DNS, Routing Table, ...): 네트워크 물리 장비 역할 - Endpoint는 Sandbox를 Network에 Join(Attach) 해주는 역할을 한다. - Network는 Group of Endpoint로 한 Group의 Endpoint 간에는 서로 통신할 수 있다. 시스템의 ifconfig가 나오는 인터페이스를 바로 Endpoint라고 한다. Endpoint는 실제 Docker Network라는 것이 있어서 Docker Network에 Attach되는 방식이다. 드라이버 종류가 많은데, 드라이버를 지정하여 네트워크를 생성하고 컨테이너를 띄울때 네트워..
[아티팩트: artifact] 아티팩트(artifact)는 소프트웨어 개발 프로젝트를 진행하면서 생성하는 다양한 산출물을 의미한다. 각종 설계문서, 유스 케이스, UML 다이어그램, 소스코드, 소스를 빌드해서 생성된 라이브러리나 실행 파일도 모두 아티팩트에 속한다. 자바 프로젝트를 빌드할때 많이 사용되는 maven에서는 빌드로 생성되는 프로젝트의 결과물을 의미한다. 아티팩트는 자바 프로젝트의 성격에 따라 다르지만 일반적으로는 .jar, .war, .ear 등의 확장자를 갖게 된다. 확장자가 .jar인 자바 라이브러리 역시 아티팩트의 일종이다. 아티팩트: 소프트웨어 개발 프로젝트에서 생성되는 다양한 산출물 (e.g. maven에서 빌드로 생성되는 프로젝트의 jar 확장자 결과 등) [아티팩트 저장소: ar..
가상 서버가 생성되기까지의 처리 흐름 아래는 API를 통해 가상 서버의 생성 요청을 접수한 후, 오픈스택 내부에서 벌어지는 처리 내용들을 도식화한 것이다. 실제로는 이보다 더 복잡게 처리되지만 큰 흐름을 파악할 수 있도록 주요 동작만 표현하고 세부적인 내용은 생략되었다. 1. 가상 서버 생성 요청을 메시지 큐에 넣기 가상 서버를 생성하는 API가 실행되면 일단 큐에 메시지를 넣어 비동기로 처리한다. 오픈스택 내부에서는 모든 처리가 이 메시지 큐를 통해 이루어진다. 많은 서버들이 메시지를 효율적으로 주고 받도록 중계하는 오픈스택의 핵심 미들웨어로 AMQP라는 표준 프로토콜을 사용한다. 가상 서버 생성 요청이 큐에 들어가는 시점에 생성할 가성 서버의 구성 정보와 상태 정보가 구성관리 데이터베이스에 저장된다...