dragonboatexample

package module
v3.0.0-...-a9a26d0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2022 License: MIT Imports: 17 Imported by: 0

README

dragonboat-example

dragonboat framework (https://github.com/lni/dragonboat) project use example

项目是对dragonboat 深入使用的样例代码

项目架构

dragonboat 框架支持多Raft,在dragonboat项目里的定义就是一个ReplicaID拥有多个ShardID。

protoc -I ./pb/api --go_out=plugins=grpc:./pb/api ./pb/api/.proto protoc -I ./pb/moveto --go_out=plugins=grpc:./pb/moveto ./pb/moveto/.proto

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MetadataByRelease

func MetadataByRelease(localIp string, releaseRaftConf *pb.RaftReleaseConfig) *raft.RaftMetadata

Types

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

func NewEngine

func NewEngine() *Engine

func (*Engine) Close

func (engine *Engine) Close()

type KVServer

type KVServer struct {
	// contains filtered or unexported fields
}

func NewKVServer

func NewKVServer(cf string, raftStorage *raft.Storage) *KVServer

func (*KVServer) ChangeServing

func (kv *KVServer) ChangeServing(serve int32)

func (*KVServer) Del

func (kv *KVServer) Del(ctx context.Context, in *pb.DelRequest) (*pb.DelResponse, error)

func (*KVServer) Get

func (kv *KVServer) Get(ctx context.Context, in *pb.GetRequest) (*pb.GetResponse, error)

func (*KVServer) Put

func (kv *KVServer) Put(ctx context.Context, in *pb.PutRequest) (*pb.PutResponse, error)

type RaftControlServer

type RaftControlServer struct {
	// contains filtered or unexported fields
}

func NewRaftControlServer

func NewRaftControlServer(cf, localIp, raftDir string, grpcPort uint16,
	raftStorage *raft.Storage, raftConfCh chan *pb.RaftReleaseConfig) *RaftControlServer

func (*RaftControlServer) AddRaftObserverReplica

func (rc *RaftControlServer) AddRaftObserverReplica(ctx context.Context, in *pb.RaftOp) (*pb.WEmpty, error)

func (*RaftControlServer) AddRaftReplica

func (rc *RaftControlServer) AddRaftReplica(ctx context.Context, in *pb.RaftOp) (*pb.WEmpty, error)

func (*RaftControlServer) ChangeServing

func (rc *RaftControlServer) ChangeServing(serve int32)

func (*RaftControlServer) RaftShardInfo

func (rc *RaftControlServer) RaftShardInfo(ctx context.Context, in *pb.WEmpty) (*pb.RaftInfoResponse, error)

func (*RaftControlServer) ReleaseRaftConf

func (rc *RaftControlServer) ReleaseRaftConf(ctx context.Context, in *pb.RaftReleaseConfig) (*pb.WEmpty, error)

ReleaseRaftConf 前端推送启动配置接口,不需要判断ready

func (*RaftControlServer) ReleaseRaftShard

func (rc *RaftControlServer) ReleaseRaftShard(ctx context.Context, in *pb.RaftShard) (*pb.WEmpty, error)

func (*RaftControlServer) RemoveRaftReplica

func (rc *RaftControlServer) RemoveRaftReplica(ctx context.Context, in *pb.RaftOp) (*pb.WEmpty, error)

func (*RaftControlServer) StopRaftStatus

func (rc *RaftControlServer) StopRaftStatus()

func (*RaftControlServer) UpdateRaftShardIds

func (rc *RaftControlServer) UpdateRaftShardIds(ctx context.Context, in *pb.RaftShardIds) (*pb.WEmpty, error)

Directories

Path Synopsis
internal
vfs
pb
api
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL