feat(server): Support replica-announce-ip/port (#3421)

* feat: Support `replica-announce-ip`/`port`

Before this PR, we only supported `cluster_announce_ip`.
It's basically the same feature, but used for cluster announcements
instead of replication.

This PR adds support for `replica-announce-ip` and
`replica-announce-port`, which can be set via new flags `--announce_ip=`
and `--announce_port=`. These flags apply to both cluster and replica
announcements.

Tested via running Sentinel, and making sure it is able to connect to
announced ip+port, while it can't connect to announced false /
unavailable ip+port.

Note: this PR deprecates `--cluster_announce_ip`, but continues to
support it. We will remove it in a future version.

Fixes #3380

* fix failing test

* destructure
This commit is contained in:
Shahar Mike 2024-08-04 12:35:14 +03:00 committed by GitHub
parent c9ed3f7b2b
commit 2aa0b70035
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 78 additions and 15 deletions

View file

@ -111,7 +111,7 @@ Dragonfly는 현재 아래와 같은 Redis 인수들을 지원합니다 :
* `admin_bind`: 주어진 주소에 관리자 콘솔 TCP 연결을 바인딩합니다. (`기본값: any`). HTTP와 RESP 프로토콜 모두를 지원합니다.
* `admin_nopass`: 할당된 포트에 대해서 인증 토큰 없이 관리자 콘솔 접근을 활성화합니다. (`default: false`). HTTP와 RESP 프로토콜 모두를 지원합니다.
* `cluster_mode`: 클러스터 모드가 지원됩니다. (`기본값: ""`). 현재는`emulated` 만 지원합니다.
* `cluster_announce_ip`: 클러스터 명령을 클라이언트에게 알리는 IP 주소.
* `announce_ip`: 클러스터 명령을 클라이언트에게 알리는 IP 주소.
### 주요 옵션을 활용한 실행 스크립트 예시: