이미지 검색 시스템이 있고, 시스템 자체가 여러 대의 클러스터로 구성되어 있다.
특정 인물의 처리를 무시하기 위해서 PASS_LIST를 두어 공용으로 관리하고 싶은데
무겁게 DB까지는 쓸 필요가 없이,
주키퍼를 이용해서 노드를 만들어 놓고 데이터를 저장/접근하면 된다.
(이미 주키퍼 앙상블이 구축되어 있다고 가정)
이후에, 모든 클러스터에서 주키퍼 앙상블에 접속하여 해당 노드에 저장된 값을 얻어서
의도된 작업을 수행하면 된다.
ex) /abcsystem/passlist
python client가 필요했기 때문에
kazoo.readthedocs.io/en/latest/basic_usage.html
kazoo 라이브러리를 사용하였다.
import ujson
from kazoo.client import KazooClient
zk = KazooClient(hosts='127.0.0.1:2181') # , read_only=True)
zk.start()
pass_list_path = "/abcsystem/passlist"
pass_list = "송제인,박경수,김찬란,박민우,이재경,브재훈,브조"
if not zk.ensure_path(pass_list_path):
zk.create(pass_list_path)
zk.set(pass_list_path, pass_list.encode())
res = zk.get(pass_list_path)
pass_list = res[0].decode()
print(pass_list)
'dist. system' 카테고리의 다른 글
Zookeeper 구조와 일관성에 대해 (0) | 2020.10.26 |
---|---|
Zookeeper 컨셉 정리 (0) | 2020.10.26 |
Zookeeper 설치법 정리 (0) | 2020.10.26 |
NATS streaming client example (0) | 2020.09.25 |
nats streaming server (NATS.io) (2) | 2020.09.02 |