clustering

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllocSlots

func AllocSlots(admin redisutil.IAdmin, newMasterNodes redisutil.Nodes) error

func AttachingSlavesToMaster

func AttachingSlavesToMaster(cluster *redisutil.Cluster, admin redisutil.IAdmin, slavesByMaster map[string]redisutil.Nodes) error

AttachingSlavesToMaster used to attach slaves to there masters

func DispatchMasters

func DispatchMasters(cluster *redisutil.Cluster, nodes redisutil.Nodes, nbMaster int32) (redisutil.Nodes, redisutil.Nodes, redisutil.Nodes, error)

DispatchMasters used to select nodes with master roles

func DispatchSlotToNewMasters

func DispatchSlotToNewMasters(cluster *redisutil.Cluster, admin redisutil.IAdmin, newMasterNodes, currentMasterNodes, allMasterNodes redisutil.Nodes) error

DispatchSlotToNewMasters used to dispatch Slot to the new master nodes

func PlaceMasters

func PlaceMasters(cluster *redisutil.Cluster, currentMaster redisutil.Nodes, allPossibleMasters redisutil.Nodes, nbMaster int32) (redisutil.Nodes, bool, error)

PlaceMasters used to select Redis Node knowing on which VM they are running in order to spread as possible the masters on different VMs. Improvement: Use Kube Node labeling instead of the "NodeName", (availability zone and so)

func PlaceSlaves

func PlaceSlaves(cluster *redisutil.Cluster, masters, oldSlaves, newSlaves redisutil.Nodes, replicationFactor int32) (map[string]redisutil.Nodes, bool)

PlaceSlaves used to select Redis Node knowing on which VM they are running in order to spread as possible

func RebalancedCluster

func RebalancedCluster(admin redisutil.IAdmin, newMasterNodes redisutil.Nodes) error

RebalancedCluster rebalanced a redis cluster.

Types

type MovedNode

type MovedNode struct {
	Source *redisutil.Node
	Slot   redisutil.Slot
}

Jump to

Keyboard shortcuts

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