전체 글
-
[GRPC] gRPC 소개 및 Go 기반 gRPC 설치OpenSource 2017. 5. 31. 16:21
RPC RPC는 네트워크 상 원격에 있는 서버의 서비스를 호출하는데 사용되는 프로토콜로 IDL(Interface Definition Language)로 인터페이스를 정의한 후 이에 해당하는 Skeleton 과 Stub 코드를 통해 프로그래밍 언어에서 호출해서 사용하는 방식이다. 최근에는 HTTP를 활용한 SOAP, RESTful 등이 많이 활용되어서 RPC는 거의 사용이 되지 않으나 요청/응답을 위한 규약이 명시적이지 않다는 단점으로 인해 다시 RPC의 방식을 채용한 프레임워크들이 나오기 시작했다. gRPC는 자바,C/C++ 뿐만 아니라 Node.js, Python, Ruby, PHP, Go, Android 기반, Objective-C 등 다양한 언어들을 지원함으로 서버간 뿐만이 아니라 클라이언트 어플리..
-
[oVirt] 소개OpenSource 2017. 5. 31. 11:44
oVirt 오픈소스 가상화 관리 플랫폼이다. ovirt 관리 인터페이스(oVirt engine)에서 하드웨어 노드, 스토리지 및 네트워킹 자원을 중앙 집중식으로 관리하고, 운영중인 데이터 센터에서 가상머신을 모니터링하고 배포할 수 있다. 특징 KVM 하이퍼바이저를 기반으로 구축 실시간 migration 지원 VM 리소스 사용량 모니터링 Component 가상화 : Linux Kernel, KVM, libvirt, Qemu 미들웨어 : Wildfly or Jboss EAP 6 데이터베이스 : PostgreSQL VDI : VNC, Spice JAVA : OpenJDK 사용자 관리 : Microsoft Active Directory, Red Hat Directory Server, IBM Tivoli Dire..
-
[HP Proliant DL380e gen8] OS 설치 (Centos7)OS 2017. 5. 29. 17:28
1. ACU(Array Configuration Utility) [F5] 눌러서 system Storage configuration 진입 -> Create Array -> Crate Logical Drive 2. Usb Key 만들기 리눅스 시스템에서 설치할 centos버전에 맞는 driver file을 다운 받는다. 예를 들어, Centos 7.3은 hpvsa-1.2.16-102.rhel7u0.x86_64.dd.gz 다운로드. Red Hat Enterprise Linux 7 Server - software driver update - driver diskette image http://h20565.www2.hpe.com/hpsc/swd/public/detail?sp4ts.oid=7298965&swIte..
-
[Protocol Buffer] 프로토콜 버퍼 소개 및 Go에서의 사용법OpenSource 2017. 5. 18. 15:14
Google Protocol Buffer 프로토콜 버퍼는 구글에서 내놓은 오픈소스 직렬화 라이브러리이다. 메시지를 연속된 비트로 만들고(직렬화-Serialize) 반대로 비트들에서 원래의 메시지로 만들어 낼 수 있다. (역직렬화-Deserialize) 네트워크 통신과 데이터 저장에 사용된다. 데이터 구조(Message)와 서비스를 Proto 스키마 파일에 저장하고, 다양한 언어(Java, C++, Python, Ruby, C, Go, Erlang, Javascript, Lua, Perl, PHP, R, Rust, Scala, Swift )로 인/디코딩하여 멀티 플랫폼 대응을 가능하게 한다. 즉, Big endian과 Little endian을 사용하는 언어사이에 이기종간 통신을 할 수 있다. 웹 애플리케..
-
[Kibana] 설치 및 사용OpenSource 2017. 4. 13. 15:49
Kibana 설치 [Linux 64bit] $ wget https://artifacts.elastic.co/downloads/kibana/kibana-5.3.0-linux-x86_64.tar.gz $ tar xvf kibana-5.3.0-linux-x86_64.tar.gz 실행 $ (elasticsearch 실행) $ cd kibana-5.3.0-linux-x86_64 $ vi config/kibana.yml server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200" $ bin/kibana 접속 browser를 통해 "http://localhost:5601" 접속 Management 왼쪽 메뉴바에서 Manage..
-
[Elasticsearch] 개요 및 APIOpenSource 2017. 4. 13. 15:04
Elasticsearch: 분산형 RESTful 검색 및 분석 엔진 핵심 개념Cluster : 전체 데이터를 가지고 모든 노드간의 통합 인덱싱 및 검색이 가능한 1개 이상의 노드(서버)집합Node : 노드는 클러스터의 부분이 되는 단일 서버로써, 데이터를 저장하고 클러스터에 참여하여 인덱싱과 검색 역할을 수행Index : 인덱스는 비슷한 형질을 가지는 문서 간의 집합Type : 인덱스를 논리적 분류/파티션으로 문서의 공통 속성을 가지고 정의Document : 문서는 인덱싱된 정보의 기본 단위로 JSON으로 구성Shards : 인덱스를 나누는 단위로, 이 단위별로 분산/병렬 처리Replicas : Shard의 복제본으로 장애 대응과 검색 병렬 처리에 사용 elasticsearch vs relational ..
-
[kafka] kafka 버전 업그레이드 (Rolling Upgrade) 0.8.x -> 0.10.2.0OpenSource 2017. 3. 31. 18:01
1. 원래의 server.properties에서 버전 항목을 변경전 버전으로 추가한다. $ cp kafka_2.10-0.8.2.2/config/zookeeper.properties kafka_2.12-0.10.2.0/config/zookeeper.properties$ cp kafka_2.10-0.8.2.2/config/server.properties kafka_2.12-0.10.2.0/config/server.properties $ vi kafka_2.12-0.10.2.0/config/server.properties inter.broker.protocol.version=0.8.2 log.message.format.version=0.8.2 2. 현재 실행중인 broker(kafka server)를 stop..
-
[docker] device mapper 옵션과 direct-lvm 모드 설정Container 2017. 3. 23. 17:55
devicemapper는 block device를 사용하기 때문에 컨테이너별로 디스크를 제한할 수 있다. device mapper 드라이버는 두 가지의 block device(data, metadata)를 사용하여 하나의 thin pool을 생성한다. thin pool의 기본 크기는 100GB이며, 각각의 컨테이너와 이미지를 위해 할당되는 device 크기는 10GB이다. 이 크기들은 물리적으로 데이터를 쓰기 전까지는 할당되지 않으며 최대 크기를 채우기 전까지 사용할 수 있다. Device Mapper Options dm.thinpooldev: loopback device 대신 thin pool에서 사용할 block device를 지정한다. 'lvm' block device를 사용하는 것이 가장 좋다. ..