'zookeeper'에 해당되는 글 2건
zookeeper insidezookeeper inside
Posted at 2011. 4. 20. 10:12 | Posted in OpenSourcec++용 zookeeper wrapper 클래스를 만들기 전에 이 녀석이 어떻게 동작하는지 알 필요가 있어 살펴 봤다.
async류 함수(zoo_awget)를 호출하더라도 zookeeper_close()를 호출하면 모두 정리하고 나간다.
zookeeper_close() ==> zookeeper join 이라고 봐도 되겠다.
<zookeeper(MT) 주요 함수 호출 스택>
zoo_get()
-> zoo_wget(): sync_completion을 사용해서 blocking 모드로 결과 반환.
-> zoo_awget()
-> wait_sync_completion
-> zoo_wget(): sync_completion을 사용해서 blocking 모드로 결과 반환.
-> zoo_awget()
-> wait_sync_completion
zookeeper_close()
(1) (ref_counter == 0)
-> destroy()
-> cleanup_bufs()
-> free_completions()
-> notify_sync_completion() -> broadcast to all waiting sync_completion thread
(1) (ref_counter == 0)
-> destroy()
-> cleanup_bufs()
-> free_completions()
-> notify_sync_completion() -> broadcast to all waiting sync_completion thread
(2) (ref_counter > 0)
-> cleanup_bufs() -> free_completions() -> ...
-> adaptor_finish()
-> pthread_join(io), pthread_join(completion)
-> api_epilog() -> ref_counter - 1
-> zookeeper_close()
-> (1)
-> cleanup_bufs() -> free_completions() -> ...
-> adaptor_finish()
-> pthread_join(io), pthread_join(completion)
-> api_epilog() -> ref_counter - 1
-> zookeeper_close()
-> (1)
async류 함수(zoo_awget)를 호출하더라도 zookeeper_close()를 호출하면 모두 정리하고 나간다.
zookeeper_close() ==> zookeeper join 이라고 봐도 되겠다.
wrapper : 싸는 사람, 감싸는 사람, 싸는 것, 싸개, 보자기
zookeeper 메모zookeeper 메모
Posted at 2010. 8. 10. 01:44 | Posted in OpenSource목적/사용예
- distributed lock service
- maintaining configuration information
- naming
- distributed synchronization
- group services