'IT/개념'에 해당되는 글 3건

About ZooKeeper

IT/개념 2017. 4. 19. 11:29

분산 작업 제어 트리 형태의 데이터 저장소
- 분산된 어플리케이션들을 위한 분산 Coordination 서비스입니다.
- Coordination이란 다양한 노드가 함께 잘 어울릴 수 있도록 동작하도록 조정하는 행위

Zookeeper의 Cluster를 Ensemble(앙상블)이라 부름.


위 Zookeeper 클러스터는 자동으로 Leader를 선정하며 이 Leader는 데이터 저장을 주도합니다.
클라이언트가 Follower 노드로 데이터 저장 요청이 들어오면 Follower는 Leader에게 전달하고
Leader는 과반 이상의 Follower가 쓰기 가능한 상태가 되면 Follower에게 쓰기 명령을 한다.
반면, 데이터 읽기 요청은 어떤 노드(Leader or Followers)로 들어와도 즉시 데이터를 리턴한다.

클라이언트는 단일 Zookeeper 서버에 연결하고, TCP 연결을 유지합니다.
TCP 연결이 끊어지면 다른 서버에 연결을 시도합니다.

활용 용도

  1.   분산 서버간의 정보 공유
  2.   서버 투입 / 제거 시 이벤트 처리
  3.   서버 모니터링
  4.   시스템 관리
  5.   분산 락 처리
  6.   장애 상황 판단
  7.   데이터 변경을 감시


위 활용도 중에 데이터 변경 감시를 위한 Watcher 활용도가 가장 높습니다.
데이터가 변경되면 Data Polling없이 특정 Node에 등록되어 있는 Watcher의 콜백으로 알려줍니다..
그러나, 주의하셔야 할 것이 자주 변경되는 데이터를 감시하는 곳에는 사용하지 않는 것이 좋습니다.
Zookeeper가 버벅댑니다 ㅠ.ㅠ

Zookeepr가 데이터를 디렉토리 구조로 저장을 하고,
지속성(Persistent)을 위해 트랜잭션 로그, 스냅샷 파일을 디스크에 저장을 합니다.
서버를 재시작을 해도 서비스가 유지되도록 하기 위합니다.

또한, 중요한 기능 중에 하나는 노드별 ACL(Access Control List)를 제공해줍니다.
Zookeeper와 같은 코디네이션 시스템은 중요한 상태 정보나 설정 정보를 유지하기 때문에 시스템에 망가지면 전면 장애로 이어지는 경우가 발생할 수 있어서 적어도 이중화를 유지하여 고가용성을 유지합니다.
그러다 보니, Zookeeper를 유지함에 있어서 물리적으로는 시스템 낭비가 심한 경우에 포함이 되죠.
다만, 하나의 클러스터를 구성하여 여러 어플리케이션이 사용하면 시스템 낭비를 줄일 수 있는데,
여기서 문제점은 여러 어플리케이션이 여러 노드에 접근 가능하여 오히려 보안성에 문제가 발생할 수 있는데
이럴 경우에는 ACL 기능을 사용하면 좋겠습니다.

'IT > 개념' 카테고리의 다른 글

[웹 2.0] 소개  (0) 2008.05.22
Mash-up 이란... 오십세주  (0) 2008.02.18
블로그 이미지

쩐의시대

나답게 살아가고 나답게 살아가자

,

[웹 2.0] 소개

IT/개념 2008. 5. 22. 13:54
이전 회사에 다닐 때 정리하였던 문서이다.
간만에 하드를 정리하면서 찾아서 올려본다.

'IT > 개념' 카테고리의 다른 글

About ZooKeeper  (0) 2017.04.19
Mash-up 이란... 오십세주  (0) 2008.02.18
블로그 이미지

쩐의시대

나답게 살아가고 나답게 살아가자

,

백세주와 소주를 합친 술을 우리는 흔히 "오십세주"라고 한다.
우리가 백세주와 소주의 특성을 알아 별도로 오십세주를 만드는 것이 아니라,
주어진 백세주와 소주를 적당한 병에 일정한 비율을 섞어 만들면 바로 오십세주가 되는 것이다.
Mash-up 이란 바로 이런 것이다.
즉, 주어지는 어플리케이션이나 웹 서비스를 적절하게 혼합하여 새로운 자원으로 만드는 것을
Mash-up 이라고 한다.

Mash-up 이라는 단어는 원래 음악계에서 사용하던 말이다.
가수나 DJ가 2가지 곡을 조합하여 하나의 곡을 만들어 내는 것을 의미하며
이 의미가 웹으로 진화를 하면서 Web 2.0이라는 패러다임과 잘 어울려지면서
각광을 받고 있는 새로운 서비스가 되고 있다.

그 일례로, 하우징맵스(www.housingmaps.com)라는 회사를 꼽을 수 있겠다.
구글이 지도 서비스에 대한 오픈 API를 공개하기 전에 Paul Rademacher라는 사람이
해킹하여 구글 지도 서비스와 해당 지역의 부동산 매물을 보여주는 서비스를 하였다.
이 사실에 구글은 고소는 커녕 2달 뒤 오픈 API를 공개하고
Paul Rademacher라는 사람을 채용했다.
(해킹으로  성공한 녀석들은 전부 이름 있는 회사에 팔려갔다. ㅠ.ㅠ)

그러나, Mash-up의 단점 또한 있다.
제공되어지는 서비스를 이용하여 새로운 서비스를 만듦에 있어 추가 비용은 거의 없는 것에 반해
1차 서비스를 통해 Mash-up 서비스를 하게 될 때, 1차 서비스가 서비스를 중단하거나
제공하지 않게 된다면 당연히 Mash-up 서비스도 중단할 수 밖에 없는 종속적이 관계가 된다.
또한, 1차 서비스의 제공 형태가 달라지면 Mash-up 서비스가 달라질 수 밖에 없다.
메타검색을 제공하는 서비스 업체와 별반 차이 없어 보이긴 한다.

그래서, 많은 Mash-up 서비스를 준비하는 업체 혹은 개인은
신뢰성이 있는 1차 서비스를 찾아야 하고, 이를 통해 Mash-up 서비스를 활성화가 된다면
1차 서비스는 당연히 더 많은 traffic를 야기시키고 활성화 될 것으로 보인다.
Mash-up 서비스는 1차 서비스에 종속적이긴 하나,
Mash-up 서비스의 역할에 따라 1차 서비스도 성공적인 서비스로 가는 초석을 다지는 길일 것이다.

생각해 볼 수 있는 서비스는
1. 지도 서비스 + 뉴스 서비스
   1.1 뉴스가 발생한 지역에 특정 기호로 표시하여 어느 지역에서 사건이 발생되었는지 한 눈에 파악
   1.2 해당 지역을 선택하면 해당 지역 뉴스를 보여주는 편리함.
2. 지도 서비스 + 엔터테인먼트
   2.1 맛집, 멋집, 관광지, 부동산

굉장히 재미있는 서비스들이 많이 나올 것으로 보인다.

** http://cafe.daum.net/BestTanslation/241n/8 에서 일부 발췌 **


*

'IT > 개념' 카테고리의 다른 글

About ZooKeeper  (0) 2017.04.19
[웹 2.0] 소개  (0) 2008.05.22
블로그 이미지

쩐의시대

나답게 살아가고 나답게 살아가자

,