replication 스탠자
replication 스탠자 (stanza)
replication 스탠자는 복제 관련 값을 튜닝하기 위한 다양한 파라미터를 지정합니다.
출처: 문서
본문
Enterprise 적절한 Vault Enterprise 라이선스가 필요합니다.
replication {
resolver_discover_servers = true
logshipper_buffer_length = 1000
logshipper_buffer_size = "5gb"
allow_forwarding_via_header = false
best_effort_wal_wait_duration = "2s"
}
replication 파라미터
-
resolver_discover_servers(boolean: true)- 이 기능은 거의 항상 켜두는 것이 좋습니다. 보조(secondary) 클러스터 노드가 기본(primary) 클러스터의 노드에 접근해 active 노드가 누구인지 정보를 요청할 수 있게 합니다. 이는 보조 클러스터가 기본 클러스터의 단일 노드만 알고 있고, 그 노드가 active 노드가 아닐 때 복제 연결이 실패하는 문제를 해결합니다. 해석(resolving)을 비활성화하면 이를 우회하는 유일한 방법은 번거로운 UpdatePrimary 워크플로를 거치거나, 보조 클러스터가 아는 노드가 active가 될 때까지 기본 클러스터에서 step-down을 수행하는 것입니다. -
logshipper_buffer_length(integer: 16384)- 로그 시퍼 버퍼(log shipper buffer)가 보유할 수 있는 항목의 최대 수입니다. 지정하지 않으면 기본값 16K가 사용됩니다. -
logshipper_buffer_size(string: "")- 로그 시퍼 버퍼가 될 수 있는 최대 크기입니다. 이 크기는 바이트 수를 나타내는 정수로 표현하거나 용량 문자열로 표현할 수 있습니다. 용량 문자열은 숫자, 선택적 공백, 용량을 나타내는 접미사로 구성됩니다. 유효한 접미사는kb, kib, mb, mib, gb, gib, tb, tib이며, 각각 킬로바이트, 키비바이트, 메가바이트, 메비바이트 등에 해당합니다. 2의 거듭제곱과 10의 거듭제곱 단위에 대한 자세한 내용은 Wikipedia에서 확인할 수 있습니다. 접미사는 대소문자를 구분하지 않습니다. 지정하지 않으면 Vault는 실행 중인 호스트에서 사용 가능한 총 메모리 양을 읽으려 시도합니다. 성공하면 그 값의 10%를 사용합니다. 호스트 메모리를 읽을 수 없으면 기본값은 1GB입니다. -
allow_forwarding_via_header(boolean: false)- 클라이언트 제어 일관성(client controlled consistency)을 위한 포워딩 옵션, 즉X-Vault-Inconsistent: forward-active-node와X-Vault-Forward: active-node를 활성화합니다. -
best_effort_wal_wait_duration(duration: "2s")- 오래된 읽기(stale reads)를 방지하기 위한 레거시 완화 수단입니다. RPC를 통해 쓰기가 이루어질 때(즉 요청을 처리한 노드가 쓰기 자체를 수행하지 않았을 때) 클라이언트에 응답을 반환하기 전에 결과 WAL이 로컬에 나타날 때까지 최대 이 시간 동안 기다립니다. -
allow_forwarding_via_token(string: "")-new_token으로 설정하면, 비-active 노드가 아직 스토리지에 토큰 정보를 갖고 있지 않을 때 비-active 노드로 전송된 요청이 포워딩됩니다. -
replication_canary_write_interval_seconds(integer: 1)- 기본 클러스터의 스토리지에 복제 카나리(replication canary)를 쓰는 사이의 간격(초)입니다. 카나리를 비활성화하려면 0으로 설정하세요. 카나리에 대한 자세한 내용은 Clock skew and replication lag 페이지를 참고하세요.