From 240661b0f8dac39ab26f1dde37477e0a0ce2b617 Mon Sep 17 00:00:00 2001 From: Joe Zhou Date: Tue, 24 Sep 2024 14:00:27 -0400 Subject: [PATCH] feat: dragonfly cluster demo --- cluster/cluster.json | 30 +++++++++++++++++++ cluster/docker-compose.yml | 26 +++++++++++++++++ cluster/slot-migration-finished.json | 30 +++++++++++++++++++ cluster/slot-migration.json | 43 ++++++++++++++++++++++++++++ 4 files changed, 129 insertions(+) create mode 100644 cluster/cluster.json create mode 100644 cluster/docker-compose.yml create mode 100644 cluster/slot-migration-finished.json create mode 100644 cluster/slot-migration.json diff --git a/cluster/cluster.json b/cluster/cluster.json new file mode 100644 index 0000000..172fa1d --- /dev/null +++ b/cluster/cluster.json @@ -0,0 +1,30 @@ +[ + { + "slot_ranges": [ + { + "start": 0, + "end": 999 + } + ], + "master": { + "id": "ed4718a762eac755b1692ec621a0eec10bbe66aa", + "ip": "localhost", + "port": 30001 + }, + "replicas": [] + }, + { + "slot_ranges": [ + { + "start": 1000, + "end": 16383 + } + ], + "master": { + "id": "4504afbf9e2d4f4faeeaef516e3baed04bbb7759", + "ip": "localhost", + "port": 30002 + }, + "replicas": [] + } +] \ No newline at end of file diff --git a/cluster/docker-compose.yml b/cluster/docker-compose.yml new file mode 100644 index 0000000..7122443 --- /dev/null +++ b/cluster/docker-compose.yml @@ -0,0 +1,26 @@ +version: '3' +services: + dragonfly-cluster-1: + container_name: "dragonfly-cluster-1" + image: 'ghcr.io/dragonflydb/dragonfly:v1.22.2-ubuntu' + ulimits: + memlock: -1 + ports: + - "30001:6379" + - "31001:31001" + command: + - "--dir=/data" + - "-cluster_mode=yes" + - "-admin_port=31001" + dragonfly-cluster-2: + container_name: "dragonfly-cluster-2" + image: 'ghcr.io/dragonflydb/dragonfly:v1.22.2-ubuntu' + ulimits: + memlock: -1 + ports: + - "30002:6379" + - "31002:31002" + command: + - "--dir=/data" + - "-cluster_mode=yes" + - "-admin_port=31002" diff --git a/cluster/slot-migration-finished.json b/cluster/slot-migration-finished.json new file mode 100644 index 0000000..cbd16c3 --- /dev/null +++ b/cluster/slot-migration-finished.json @@ -0,0 +1,30 @@ +[ + { + "slot_ranges": [ + { + "start": 0, + "end": 8000 + } + ], + "master": { + "id": "97486c9d7e0507e1edb2dfba4655224d5b61c5e2", + "ip": "localhost", + "port": 30001 + }, + "replicas": [] + }, + { + "slot_ranges": [ + { + "start": 8001, + "end": 16383 + } + ], + "master": { + "id": "728cf25ecd4d1230805754ff98939321d72d23ef", + "ip": "localhost", + "port": 30002 + }, + "replicas": [] + } + ] \ No newline at end of file diff --git a/cluster/slot-migration.json b/cluster/slot-migration.json new file mode 100644 index 0000000..129826d --- /dev/null +++ b/cluster/slot-migration.json @@ -0,0 +1,43 @@ +[ + { + "slot_ranges": [ + { + "start": 0, + "end": 999 + } + ], + "master": { + "id": "97486c9d7e0507e1edb2dfba4655224d5b61c5e2", + "ip": "localhost", + "port": 30001 + }, + "replicas": [] + }, + { + "slot_ranges": [ + { + "start": 1000, + "end": 16383 + } + ], + "master": { + "id": "728cf25ecd4d1230805754ff98939321d72d23ef", + "ip": "localhost", + "port": 30002 + }, + "replicas": [], + "migrations": [ + { + "slot_ranges": [ + { + "start": 1000, + "end": 8000 + } + ], + "node_id": "97486c9d7e0507e1edb2dfba4655224d5b61c5e2", + "ip": "localhost", + "port": 31001 + } + ] + } +] \ No newline at end of file