From 92b269ca4991021a91be83d79ff0e89151d9d628 Mon Sep 17 00:00:00 2001 From: f1v3-dev Date: Mon, 7 Sep 2026 21:41:06 +0900 Subject: [PATCH] FIX: Unify topology YAML field names to camelCase --- docs/0-getting-started.md | 8 ++-- docs/1-zk-guide.md | 58 +++++++++++------------ docs/2-cluster-guide.md | 6 +-- examples/cluster-community-topology.yaml | 2 +- examples/cluster-enterprise-topology.yaml | 2 +- examples/zk-topology.yaml | 16 +++---- internal/topology/cluster.go | 2 +- internal/topology/zk.go | 12 ++--- 8 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docs/0-getting-started.md b/docs/0-getting-started.md index 0481cdf..6cd5a8d 100644 --- a/docs/0-getting-started.md +++ b/docs/0-getting-started.md @@ -61,8 +61,8 @@ ssh -o BatchMode=yes -o ConnectTimeout=10 hostname - ZooKeeper 서버가 실행되는 원격 장비 - ZooKeeper 버전과 호환되는 Java 런타임 - - 토폴로지의 `path`, `data_dir`을 만들고 수정할 수 있는 권한 - - `data_log_dir`을 별도로 지정했다면 해당 경로를 만들고 수정할 수 있는 권한 + - 토폴로지의 `path`, `dataDir`을 만들고 수정할 수 있는 권한 + - `dataLogDir`을 별도로 지정했다면 해당 경로를 만들고 수정할 수 있는 권한 - 캐시 서버가 실행되는 원격 장비 - 소스 아카이브의 의존성을 설치할 수 있는 환경 @@ -138,8 +138,8 @@ ssh -o BatchMode=yes -o ConnectTimeout=10 hostname └── zk/ ``` -ZooKeeper의 `data_dir`을 생략하면 `/data/`을 사용합니다. -`data_dir` 또는 `data_log_dir`을 직접 지정하면 각 경로 아래에 `zk` 디렉터리를 생성합니다. +ZooKeeper의 `dataDir`을 생략하면 `/data/`을 사용합니다. +`dataDir` 또는 `dataLogDir`을 직접 지정하면 각 경로 아래에 `zk` 디렉터리를 생성합니다. ## 기본 운영 흐름 diff --git a/docs/1-zk-guide.md b/docs/1-zk-guide.md index 4fe316c..26070ac 100644 --- a/docs/1-zk-guide.md +++ b/docs/1-zk-guide.md @@ -38,7 +38,7 @@ servers: - myid: 1 address: 192.0.2.11:2181:2888:3888 config: - data_log_dir: /data/zookeeper/txlog-1 + dataLogDir: /data/zookeeper/txlog-1 - myid: 2 address: 192.0.2.12:2181:2888:3888 @@ -46,12 +46,12 @@ servers: - myid: 3 address: 192.0.2.13:2181:2888:3888 -global_config: - tick_time: 2000 - init_limit: 10 - sync_limit: 5 - data_dir: /var/lib/zk/data - data_log_dir: /var/lib/zk/datalog +globalConfig: + tickTime: 2000 + initLimit: 10 + syncLimit: 5 + dataDir: /var/lib/zk/data + dataLogDir: /var/lib/zk/datalog properties: maxClientCnxns: "60" autopurge.snapRetainCount: "10" @@ -68,31 +68,31 @@ global_config: | `servers[].myid` | 앙상블 안에서 중복되지 않는 ZooKeeper 서버 ID | 예 | | `servers[].address` | `:::` 형식의 고유 주소 | 예 | | `servers[].config` | 특정 ZooKeeper 서버에 추가하거나 덮어쓸 설정 | 아니요 | -| `global_config` | 모든 ZooKeeper 서버에 공통으로 적용할 설정 | 아니요 | +| `globalConfig` | 모든 ZooKeeper 서버에 공통으로 적용할 설정 | 아니요 | ### ZooKeeper 설정 -| 필드 | 설명 | 기본값 | -|----------------|------------------------------------------------------------|-------------------------------| -| `tick_time` | ZooKeeper의 기본 `tick` 시간 | `2000` | -| `init_limit` | follower가 leader에 연결하고 동기화할 수 있는 `tick` 수 | `10` | -| `sync_limit` | follower와 leader 사이의 요청 및 응답에 허용되는 `tick` 수 | `5` | -| `data_dir` | 스냅샷과 `myid`를 저장할 기준 디렉터리 | `/data/` | -| `data_log_dir` | 트랜잭션 로그를 저장할 기준 디렉터리 | 해당 서버의 `data_dir` | -| `properties` | 추가할 `zoo.cfg` 속성 | 없음 | +| 필드 | 설명 | 기본값 | +|--------------|------------------------------------------------------------|-------------------------------| +| `tickTime` | ZooKeeper의 기본 `tick` 시간 | `2000` | +| `initLimit` | follower가 leader에 연결하고 동기화할 수 있는 `tick` 수 | `10` | +| `syncLimit` | follower와 leader 사이의 요청 및 응답에 허용되는 `tick` 수 | `5` | +| `dataDir` | 스냅샷과 `myid`를 저장할 기준 디렉터리 | `/data/` | +| `dataLogDir` | 트랜잭션 로그를 저장할 기준 디렉터리 | 해당 서버의 `dataDir` | +| `properties` | 추가할 `zoo.cfg` 속성 | 없음 | -ZooKeeper 서버별 `servers[].config`는 `global_config`에 병합됩니다. +ZooKeeper 서버별 `servers[].config`는 `globalConfig`에 병합됩니다. - ZooKeeper 서버별 설정에 값이 있으면 같은 이름의 전역 설정을 덮어씁니다. - `properties`는 키 단위로 추가하거나 덮어씁니다. -- 전역 설정과 서버별 설정에서 모두 `data_dir`을 생략하면 `/data/`을 사용합니다. -- 전역 설정과 서버별 설정에서 모두 `data_log_dir`을 생략하면 해당 ZooKeeper 서버의 최종 `data_dir`을 사용합니다. +- 전역 설정과 서버별 설정에서 모두 `dataDir`을 생략하면 `/data/`을 사용합니다. +- 전역 설정과 서버별 설정에서 모두 `dataLogDir`을 생략하면 해당 ZooKeeper 서버의 최종 `dataDir`을 사용합니다. 각 ZooKeeper 서버의 실제 데이터 및 로그 경로에는 `zk` 하위 디렉터리가 추가됩니다. ```text -/zk -/zk +/zk +/zk ``` 기본 설정을 사용하는 경우 실제 경로는 다음과 같습니다. @@ -183,14 +183,14 @@ ZooKeeper 바이너리는 원격 장비의 `/`에 설치됩니다 └── myid ``` -위의 `data` 구조는 `data_dir`을 생략한 경우입니다. `data_dir` 또는 `data_log_dir`을 지정하면 각각 다음 경로를 사용합니다. +위의 `data` 구조는 `dataDir`을 생략한 경우입니다. `dataDir` 또는 `dataLogDir`을 지정하면 각각 다음 경로를 사용합니다. ```text -/zk -/zk +/zk +/zk ``` -`data_log_dir`을 생략하면 `data_dir`과 동일한 경로를 사용하므로 스냅샷과 트랜잭션 로그가 같은 `/zk` 디렉터리에 저장됩니다. +`dataLogDir`을 생략하면 `dataDir`과 동일한 경로를 사용하므로 스냅샷과 트랜잭션 로그가 같은 `/zk` 디렉터리에 저장됩니다. 같은 원격 장비의 동일한 `/`은 여러 앙상블이 공유할 수 있습니다. `//bin/zkServer.sh`가 이미 있으면 버전별 바이너리를 재사용하고 앙상블별 설정과 데이터를 생성합니다. @@ -207,8 +207,8 @@ ZooKeeper 바이너리는 원격 장비의 `/`에 설치됩니다 ```text / /conf//zk -/zk -/zk +/zk +/zk ``` 운영 장비에 배포 정보가 일부 저장되었을 수 있으므로 다음 경로도 함께 확인하세요. @@ -374,8 +374,8 @@ arcusctl zk delete my-ensemble --purge ```text /conf//zk -/zk -/zk +/zk +/zk ``` `--purge`로 추가되는 삭제 경로는 다음과 같습니다. diff --git a/docs/2-cluster-guide.md b/docs/2-cluster-guide.md index b44ca57..524ebc1 100644 --- a/docs/2-cluster-guide.md +++ b/docs/2-cluster-guide.md @@ -51,7 +51,7 @@ servers: config: options: "-m 128 -v" -global_config: +globalConfig: options: "-t 4 -c 1024 -b 1024 -B auto -m 64" ``` @@ -75,7 +75,7 @@ servers: role: slave port: 33533 -global_config: +globalConfig: options: "-t 8 -m 128" ``` @@ -89,7 +89,7 @@ global_config: | `servers` | 하나 이상의 캐시 서버 목록 | 예 | | `servers[].address` | `:` 형식의 고유한 캐시 서버 주소 | 예 | | `servers[].config.options` | 특정 캐시 서버에 추가할 실행 옵션 | 아니요 | -| `global_config.options` | 모든 캐시 서버에 공통으로 적용할 실행 옵션 | 아니요 | +| `globalConfig.options` | 모든 캐시 서버에 공통으로 적용할 실행 옵션 | 아니요 | | `servers[].group` | Enterprise 캐시 서버의 replication group 설정 | 조건부 | 하나의 토폴로지에 Community edition 캐시 서버와 Enterprise edition 캐시 서버를 함께 정의할 수 없습니다. diff --git a/examples/cluster-community-topology.yaml b/examples/cluster-community-topology.yaml index 9337e92..fbbe23a 100644 --- a/examples/cluster-community-topology.yaml +++ b/examples/cluster-community-topology.yaml @@ -13,5 +13,5 @@ servers: config: # optional - per-node override options: "-m 128 -v" # optional - override global options (-p, -P, -z, -d are not allowed) -global_config: +globalConfig: options: "-t 4 -c 1024 -b 1024 -B auto -m 64" # memcached command-line arguments diff --git a/examples/cluster-enterprise-topology.yaml b/examples/cluster-enterprise-topology.yaml index 019d2b7..c3cbbcb 100644 --- a/examples/cluster-enterprise-topology.yaml +++ b/examples/cluster-enterprise-topology.yaml @@ -19,5 +19,5 @@ servers: role: slave port: 33533 -global_config: +globalConfig: options: "-t 8 -m 128" # memcached command-line arguments diff --git a/examples/zk-topology.yaml b/examples/zk-topology.yaml index 57c1b66..92f29ef 100644 --- a/examples/zk-topology.yaml +++ b/examples/zk-topology.yaml @@ -9,7 +9,7 @@ servers: - myid: 1 # required address: 192.0.2.11:2181:2888:3888 # required (host:clientPort:quorumPort:electionPort) config: # optional - per-node override - data_log_dir: /data/zookeeper/txlog-1 + dataLogDir: /data/zookeeper/txlog-1 - myid: 2 address: 192.0.2.12:2181:2888:3888 @@ -17,21 +17,21 @@ servers: - myid: 3 address: 192.0.2.13:2181:2888:3888 -global_config: +globalConfig: # optional (default: 2000) - tick_time: 2000 + tickTime: 2000 # optional (default: 10) - ticks for follower to sync to leader - init_limit: 10 + initLimit: 10 # optional (default: 5) - ticks between request and ack - sync_limit: 5 + syncLimit: 5 # optional (default: /data/) - data_dir: /var/lib/zk/data + dataDir: /var/lib/zk/data - # optional (default: data_dir) - data_log_dir: /var/lib/zk/datalog + # optional (default: dataDir) + dataLogDir: /var/lib/zk/datalog # optional - other ZK options (string values only) properties: diff --git a/internal/topology/cluster.go b/internal/topology/cluster.go index ec38544..54b27e0 100644 --- a/internal/topology/cluster.go +++ b/internal/topology/cluster.go @@ -18,7 +18,7 @@ type ClusterTopology struct { Path string `yaml:"path"` ZooKeeper string `yaml:"zookeeper"` Servers []CacheServer `yaml:"servers"` - GlobalConfig CacheConfig `yaml:"global_config"` + GlobalConfig CacheConfig `yaml:"globalConfig"` } type CacheServer struct { diff --git a/internal/topology/zk.go b/internal/topology/zk.go index 53b2668..8287b06 100644 --- a/internal/topology/zk.go +++ b/internal/topology/zk.go @@ -9,7 +9,7 @@ type ZKTopology struct { Name string `yaml:"name"` Path string `yaml:"path"` Servers []ZKServer `yaml:"servers"` - GlobalConfig ZKConfig `yaml:"global_config"` + GlobalConfig ZKConfig `yaml:"globalConfig"` } type ZKServer struct { @@ -19,11 +19,11 @@ type ZKServer struct { } type ZKConfig struct { - TickTime int `yaml:"tick_time,omitempty"` - InitLimit int `yaml:"init_limit,omitempty"` - SyncLimit int `yaml:"sync_limit,omitempty"` - DataDir string `yaml:"data_dir,omitempty"` - DataLogDir string `yaml:"data_log_dir,omitempty"` + TickTime int `yaml:"tickTime,omitempty"` + InitLimit int `yaml:"initLimit,omitempty"` + SyncLimit int `yaml:"syncLimit,omitempty"` + DataDir string `yaml:"dataDir,omitempty"` + DataLogDir string `yaml:"dataLogDir,omitempty"` Properties map[string]string `yaml:"properties,omitempty"` }