본문 바로가기

Etc

(7)
mongoDB 설치 및 CRUD Operation Intro 이번 포스팅에서는 mongoDB를 docker를 통해 설치하고, mongo shell을 사용하여 몇가지 쿼리를 실행해보자. docker가 아닌 로컬에 설치하고 싶으면 docs.mongodb.com/guides/server/install/ 여기를 참조하자. 1. Install mongoDB 1-1. mongoDB 이미지 받아오기 아래 커맨드를 통해 dockerhub에서 mongoDB의 최신 이미지 파일을 다운받자. docker pull mongo 1-2. mongoDB Container 생성 다운받은 이미지를 통해 mongoDB 컨테이너를 아래 명령어를 통해 생성하자 docker run --name mongodb -p 27017:27017 -v /Users/user/mongoTest/data/d..
mongo DB란? Intro 이번 포스팅에서는 mongoDB가 무엇인지 이론적으로 접근해 보고, 추후에 mongoDB설치 및 golang client를 사용해보는 시간을 가져보자. mongoDB 공식문서에 정의된 mongoDB는 쉽게 개발 및 확장이 가능한 document database이다. 기존에 자주 접해왔던 Mysql과 같은 RDBMS가 아닌 NoSql기반의 document database가 무엇인지 알아보자. 1. Document Database MongoDB의 record(RDBMS에서의 row)는 document라고 부른다. document는 "field-value" 페어로 구성되어 있으며, MongoDB의 document는 JSON형식과 비슷한 모양을 갖고 있다. Document의 value는 값 array..
Zookeeper Golang Client Zookeeper Golang Client : github.com/go-zookeeper/zk go-zookeeper/zk Native ZooKeeper client for Go. Contribute to go-zookeeper/zk development by creating an account on GitHub. github.com Zookeeper에서 제공하는 Client Library는 Java와 C 두 종류 밖에 없는듯 하다. Zookeeper 앙상블을 구성하고, Golang으로 작성된 프로그램에서 Zookeeper를 사용하기 위해 Client Library를 검색해 보았고, 가장 Star가 많길래.. 한번 사용해 보았다. package zookeeper import ( "fmt" "log" "t..
Zookeeper 활용 시나리오 (Recipes And Solutions) ZooKeeper공식 문서를 보면 Recipes라고, zookeeper를 사용하는 방법에 대해 나와있는 문서가 있다. 이 포스팅에서 그 중 몇가지에 대해 알아보도록 하자. zookeeper.apache.org/doc/r3.6.2/recipes.html Barriers barrier는 분산시스템에서 클라이언트의 집합이 있을 때, 클라이언트가 진행할 수 있는 조건이 충족될때까지 클라이언트의 처리를 차단하는 것, 쉽게 말해서 클라이언트들은 barrier node를 생성하려고 시도하며, barrier node를 생성한 클라이언트만 작업을 수행할 수 있도록 구성하여, 클라이언트 집합에서 한번에 한 클라이언트만 작업을 할 수 있도록 막는 것이다. pseudo code Client 는 Zookeeper API인 ex..
zookeeper Replication (3 host clustering) 설정하기 이전 포스팅에서 zookeeper 설치 및 환경 설정을 해보았는데, 이번 포스팅에서 zookeeper를 3개 host에서 실행하고 keepalived를 사용하여 하나의 vip로 묶는과정까지 진행해보자. 1. zookeeper 설정파일 zoo.cfg파일 내용이다. 이전 포스팅에서 설정파일에 대한 설명이 나와있으니 자세한 설명을 생략! tickTime=2000 dataDir=/~~/~~/~~/zookeeperDataDir clientPort=2181 initLimit=5 syncLimit=2 server.1=10.113.78.147:2888:3888 server.2=10.113.79.117:2888:3888 server.3=10.113.97.243:2888:3888 * zoo.cfg파일의 dateDir에 m..
Zookeeper 설치 및 환경설정 1. jdk 설치 구글링해서 설치해봅시다. 2. zookeeper 설치 2-1. zookeeper 다운로드 여기에서 stable 버전 다운, 나는 3.6.2버전 다운 받았다. zookeeper.apache.org/releases.html wget https://downloads.apache.org/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz 2-2. 압축 풀기 tar xzf apache-zookeeper-3.6.2-bin.tar.gz 2-3. 설정파일 생성 설정 파일(zoo.cgf), zoo_sample.cfg가 있긴한데 zoo.cfg 만들자 vi zoo.cfg tickTime - zooKeeper에서 사용하는 기본 시간 단위 (밀리세컨드) ..
Apache zookeeper란? Apache zookeeper 공식 문서에 나와있는 zookeeper의 정의는 "분산 어플리케이션을 위한 분산 코디네이션 서비스"이다. ZooKeeper: A Distributed Coordination Service for Distributed Applications 분산 어플리케이션을 위한 분산 코디네이션 서비스.. 이 단어 모음을 보고 한 번에 이해가 간다면 당신은 이미 서버 아키텍처에 대해 상당한 이해를 갖고 있는 거라고 생각한다. 분산 어플리케이션이 뭔지도 잘 모르겠는데, 이를 코디네이션 하는 서비스..? 차차 알아가 보자... 1. 분산 시스템이란? 주키퍼를 통해 관리한다는 분산 어플리케이션(정확한 의미를 위해 분산 시스템이라고 하겠다)이란 말 그대로 하나의 시스템이 여러 서버에 분산되어 있는..