kvrocks_controller

所属分类:聚类算法
开发工具:GO
文件大小:419KB
下载次数:0
上传日期:2023-05-19 09:40:56
上 传 者sh-1993
说明:  Kvrocks集群控制器
(Kvrocks cluster controller)

文件列表:
kvrocks_controller-unstable (0, 2023-06-18)
kvrocks_controller-unstable\.golangci.yml (23143, 2023-06-18)
kvrocks_controller-unstable\Dockerfile (1300, 2023-06-18)
kvrocks_controller-unstable\LICENSE (11357, 2023-06-18)
kvrocks_controller-unstable\Makefile (1358, 2023-06-18)
kvrocks_controller-unstable\VERSION.txt (8, 2023-06-18)
kvrocks_controller-unstable\build.sh (3341, 2023-06-18)
kvrocks_controller-unstable\cmd (0, 2023-06-18)
kvrocks_controller-unstable\cmd\client (0, 2023-06-18)
kvrocks_controller-unstable\cmd\client\client.go (1685, 2023-06-18)
kvrocks_controller-unstable\cmd\client\completer.go (5292, 2023-06-18)
kvrocks_controller-unstable\cmd\client\error.go (1083, 2023-06-18)
kvrocks_controller-unstable\cmd\client\executor.go (7004, 2023-06-18)
kvrocks_controller-unstable\cmd\client\printer.go (2620, 2023-06-18)
kvrocks_controller-unstable\cmd\client\prompt.go (2818, 2023-06-18)
kvrocks_controller-unstable\cmd\client\request.go (6058, 2023-06-18)
kvrocks_controller-unstable\cmd\server (0, 2023-06-18)
kvrocks_controller-unstable\cmd\server\main.go (2747, 2023-06-18)
kvrocks_controller-unstable\config (0, 2023-06-18)
kvrocks_controller-unstable\config\config.yaml (941, 2023-06-18)
kvrocks_controller-unstable\consts (0, 2023-06-18)
kvrocks_controller-unstable\consts\context_key.go (1080, 2023-06-18)
kvrocks_controller-unstable\controller (0, 2023-06-18)
kvrocks_controller-unstable\controller\controller.go (4416, 2023-06-18)
kvrocks_controller-unstable\controller\failover (0, 2023-06-18)
kvrocks_controller-unstable\controller\failover\cluster.go (4936, 2023-06-18)
kvrocks_controller-unstable\controller\failover\failover.go (3712, 2023-06-18)
kvrocks_controller-unstable\controller\migrate (0, 2023-06-18)
kvrocks_controller-unstable\controller\migrate\migrator.go (6703, 2023-06-18)
kvrocks_controller-unstable\controller\probe (0, 2023-06-18)
kvrocks_controller-unstable\controller\probe\cluster.go (5123, 2023-06-18)
kvrocks_controller-unstable\controller\probe\probe.go (2975, 2023-06-18)
kvrocks_controller-unstable\controller\syncer.go (3810, 2023-06-18)
... ...

# Kvrocks Cluster Controller [![Build Status](https://github.com/RocksLabs/kvrocks_controller/workflows/CI%20Actions/badge.svg)](https://github.com/RocksLabs/kvrocks_controller/actions) [![Go Report Card](https://goreportcard.com/badge/github.com/RocksLabs/kvrocks_controller)](https://goreportcard.com/report/github.com/RocksLabs/kvrocks_controller) [![codecov](https://codecov.io/gh/KvrocksLabs/kvrocks_controller/branch/develop/graph/badge.svg?token=EKU6KU5IWK)](https://codecov.io/gh/KvrocksLabs/kvrocks_controller) Controller for the [Kvrocks](https://github.com/apache/incubator-kvrocks#---) cluster has the following key features: * Failover - controller will failover or remove the master/slave node when probing failed * Scale out the cluster in one line command * Manage many clusters in one controller cluster * Support multi metadata storages like etcd and so on ## Build and Running ### Requirements * Go >= 1.16 ### Build binaries ```shell $ git clone https://github.com/RocksLabs/kvrocks_controller $ cd kvrocks_controller $ make # You can find the binary file in the `_build` dir if all goes good # --- # If you do not have a suitable Golang compilation environment locally, you can also use 'make BUILDER_IMAGE=' to choose a Golang image for compilation. # $make BUILDER_IMAGE=golang:1.20.3 ``` ### Overview ![image](docs/images/overview.png) For the storage, the ETCD is used as the default storage now. Welcome to contribute other storages like MySQL, Redis, Consul and so on. And what you need to do is to implement the [persistence interface](https://github.com/RocksLabs/kvrocks_controller/blob/unstable/storage/persistence/persistence.go). ### 1. Run the controller server ```shell # Use docker-compose to setup the etcd $ make setup # Run the controller server $ ./_build/kvctl-server -c config/config.yaml ``` ![image](docs/images/server.gif) ### 2. Create the namespace and cluster via kvctl ![image](docs/images/client.gif) For the HTTP API, you can find the [HTTP API(work in progress)](docs/API.md) for more details.

近期下载者

相关文件


收藏者