# Service Discovery Tools

* 네트워크에 분산되어 유기적으로 구조가 변경되는 시스템이 있을 때, 각 노드 정보 및 설정 정보를 저장, 탐색하는데 사용하는 도구
* 어플리케이션 설정들을 중앙에서 동적으로 관리하는데 사용하기도 함

## 조건

* 노드가 정지하거나 네트워크 장애가 발생했을 때 적절하게 제거되어야 함
* 새로운 노드를 추가했을 때 적절하게 전파되어야 함
* 데이터의 Consistency가 보장되어야 함
* 데이터 변경에 대한 watch가 가능해야 함

## 구조

* 일반적으로 `Provider` - `Service Discovery Tool` - `Proxy` - `Consumer` 구조

## 목록

* zookeeper
* etcd
* eureka
* consul


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ocha.ng/service_discovery_tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
