zk

package
v0.0.0-...-896f72c Latest Latest
Warning

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

Go to latest
Published: Dec 30, 2016 License: GPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewZkHelixAdmin

func NewZkHelixAdmin(zkSvr string, options ...zkclient.Option) helix.HelixAdmin

NewZkHelixAdmin creates a HelixAdmin implementation with zk as storage.

Types

type Admin

type Admin struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func (*Admin) AddCluster

func (adm *Admin) AddCluster(cluster string) error

func (*Admin) AddClusterToGrandCluster

func (adm *Admin) AddClusterToGrandCluster(cluster, grandCluster string) (err error)

func (*Admin) AddConstaint

func (adm *Admin) AddConstaint()

func (*Admin) AddInstance

func (adm *Admin) AddInstance(cluster string, config *model.InstanceConfig) error

func (*Admin) AddInstanceTag

func (adm *Admin) AddInstanceTag(cluster, instance, tag string) error

func (*Admin) AddNode

func (adm *Admin) AddNode(cluster string, node string) error

AddNode is the internal implementation corresponding to command ./helix-admin.sh --zkSvr <ZookeeperServerAddress> --addNode <clusterName instanceId> node is in the form of host_port

func (*Admin) AddResource

func (adm *Admin) AddResource(cluster string, resource string, option helix.AddResourceOption) error

func (*Admin) AddStateModelDef

func (adm *Admin) AddStateModelDef(cluster string, stateModel string, definition *model.StateModelDef) error

func (*Admin) AllowParticipantAutoJoin

func (adm *Admin) AllowParticipantAutoJoin(cluster string, yes bool) error

func (*Admin) Clusters

func (adm *Admin) Clusters() ([]string, error)

func (*Admin) Connect

func (adm *Admin) Connect() error

func (*Admin) Constraints

func (adm *Admin) Constraints()

func (*Admin) ControllerHistory

func (adm *Admin) ControllerHistory(cluster string) ([]string, error)

func (*Admin) ControllerLeader

func (adm *Admin) ControllerLeader(cluster string) string

func (*Admin) Disconnect

func (adm *Admin) Disconnect()

func (*Admin) DropCluster

func (adm *Admin) DropCluster(cluster string) error

func (*Admin) DropConfig

func (adm *Admin) DropConfig(scope helix.HelixConfigScope, keys []string, ident ...string) error

func (*Admin) DropInstance

func (adm *Admin) DropInstance(cluster string, ic *model.InstanceConfig) error

func (*Admin) DropNode

func (adm *Admin) DropNode(cluster string, node string) error

DropNode removes a node from a cluster. The corresponding znodes in zookeeper will be removed.

func (*Admin) DropResource

func (adm *Admin) DropResource(cluster string, resource string) error

func (*Admin) EnableCluster

func (adm *Admin) EnableCluster(cluster string, yes bool) error

func (*Admin) EnableInstance

func (adm *Admin) EnableInstance(cluster, instanceName string, yes bool) error

TODO

func (*Admin) EnablePartitions

func (adm *Admin) EnablePartitions(cluster, resource string, partitions []string, yes bool) error

func (*Admin) EnableResource

func (adm *Admin) EnableResource(cluster string, resource string, enabled bool) error

func (*Admin) GetConfig

func (adm *Admin) GetConfig(cluster string, scope helix.HelixConfigScope, keys []string, ident ...string) (map[string]interface{}, error)

func (Admin) GetRecord

func (conn Admin) GetRecord(path string) (*model.Record, error)

func (*Admin) InstanceConfig

func (adm *Admin) InstanceConfig(cluster, instance string) (*model.InstanceConfig, error)

func (*Admin) Instances

func (adm *Admin) Instances(cluster string) ([]string, error)

func (*Admin) InstancesWithTag

func (adm *Admin) InstancesWithTag(cluster, tag string) ([]string, error)

func (Admin) IsClusterSetup

func (conn Admin) IsClusterSetup(cluster string) (bool, error)

func (Admin) IsInstanceSetup

func (conn Admin) IsInstanceSetup(cluster, node string) (bool, error)

func (*Admin) LiveInstances

func (adm *Admin) LiveInstances(cluster string) ([]string, error)

func (*Admin) Rebalance

func (adm *Admin) Rebalance(cluster string, resource string, replica int) error

TODO just set ideal state of the resource

func (*Admin) RemoveConstaint

func (adm *Admin) RemoveConstaint()

func (*Admin) RemoveInstanceTag

func (adm *Admin) RemoveInstanceTag(cluster, instance, tag string) error

func (Admin) RemoveMapFieldKey

func (conn Admin) RemoveMapFieldKey(path string, key string) error

func (*Admin) ResourceExternalView

func (adm *Admin) ResourceExternalView(cluster string, resource string) (*model.ExternalView, error)

func (*Admin) ResourceIdealState

func (adm *Admin) ResourceIdealState(cluster, resource string) (*model.IdealState, error)

func (*Admin) Resources

func (adm *Admin) Resources(cluster string) ([]string, error)

func (*Admin) ResourcesWithTag

func (adm *Admin) ResourcesWithTag(cluster, tag string) ([]string, error)

func (*Admin) ScaleResource

func (adm *Admin) ScaleResource(cluster string, resource string, partitions int) error

func (*Admin) SetConfig

func (adm *Admin) SetConfig(cluster string, scope helix.HelixConfigScope, properties map[string]string, ident ...string) error

func (*Admin) SetInstallPath

func (adm *Admin) SetInstallPath(path string)

func (*Admin) SetResourceIdealState

func (adm *Admin) SetResourceIdealState(cluster, resource string, is *model.IdealState) error

func (*Admin) StateModelDef

func (adm *Admin) StateModelDef(cluster, stateModel string) (*model.StateModelDef, error)

func (*Admin) StateModelDefs

func (adm *Admin) StateModelDefs(cluster string) ([]string, error)

func (Admin) UpdateMapField

func (conn Admin) UpdateMapField(path string, key string, property string, value string) error

update a map field for the znode. path is the znode path. key is the top-level key in the MapFields, mapProperty is the inner key, and value is the. For example:

mapFields":{

"eat1-app993.stg.linkedin.com_11932,BizProfile,p31_1,SLAVE":{
  "CURRENT_STATE":"ONLINE"
  ,"INFO":""
}

if we want to set the CURRENT_STATE to ONLINE, we call UpdateMapField("/RELAY/INSTANCES/{instance}/CURRENT_STATE/{sessionID}/{db}", "eat1-app993.stg.linkedin.com_11932,BizProfile,p31_1,SLAVE", "CURRENT_STATE", "ONLINE")

func (Admin) UpdateSimpleField

func (conn Admin) UpdateSimpleField(path string, key string, value string) error

type CallbackHandler

type CallbackHandler struct {
	*Manager
	// contains filtered or unexported fields
}

func (*CallbackHandler) HandleChildChange

func (cb *CallbackHandler) HandleChildChange(parentPath string, lastChilds []string) error

func (*CallbackHandler) HandleDataChange

func (cb *CallbackHandler) HandleDataChange(dataPath string, data []byte) error

func (*CallbackHandler) HandleDataDeleted

func (cb *CallbackHandler) HandleDataDeleted(dataPath string) error

func (*CallbackHandler) Init

func (cb *CallbackHandler) Init()

func (*CallbackHandler) Reset

func (cb *CallbackHandler) Reset()

func (*CallbackHandler) String

func (cb *CallbackHandler) String() string

type Manager

type Manager struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewZkDistributedController

func NewZkDistributedController(clusterID, host, port, zkSvr string, options ...ManagerOption) (mgr *Manager, err error)

NewZkDistributedController creates a Distributed Controller implementation with zk as storage.

func NewZkParticipant

func NewZkParticipant(clusterID, host, port, zkSvr string, options ...ManagerOption) (mgr *Manager, err error)

NewZkParticipant creates a Participant implementation with zk as storage.

func NewZkSpectator

func NewZkSpectator(clusterID, host, port, zkSvr string, options ...ManagerOption) (mgr *Manager, err error)

NewZkSpectator creates a Spectator implementation with zk as storage.

func NewZkStandaloneController

func NewZkStandaloneController(clusterID, host, port, zkSvr string, options ...ManagerOption) (mgr *Manager, err error)

NewZkStandaloneController creates a Standalone Controller implementation with zk as storage.

func (*Manager) AddControllerListener

func (m *Manager) AddControllerListener(listener helix.ControllerChangeListener) error

func (*Manager) AddControllerMessageListener

func (m *Manager) AddControllerMessageListener(listener helix.MessageListener) error

func (*Manager) AddCurrentStateChangeListener

func (m *Manager) AddCurrentStateChangeListener(instance string, sessionID string, listener helix.CurrentStateChangeListener) error

func (*Manager) AddExternalViewChangeListener

func (m *Manager) AddExternalViewChangeListener(listener helix.ExternalViewChangeListener) error

func (*Manager) AddIdealStateChangeListener

func (m *Manager) AddIdealStateChangeListener(listener helix.IdealStateChangeListener) error

func (*Manager) AddInstanceConfigChangeListener

func (m *Manager) AddInstanceConfigChangeListener(listener helix.InstanceConfigChangeListener) error

func (*Manager) AddLiveInstanceChangeListener

func (m *Manager) AddLiveInstanceChangeListener(listener helix.LiveInstanceChangeListener) error

func (*Manager) AddMessageListener

func (m *Manager) AddMessageListener(instance string, listener helix.MessageListener) error

func (*Manager) AddPostConnectCallback

func (m *Manager) AddPostConnectCallback(cb helix.PostConnectCallback)

func (*Manager) AddPreConnectCallback

func (m *Manager) AddPreConnectCallback(cb helix.PreConnectCallback)

func (*Manager) Cluster

func (m *Manager) Cluster() string

func (*Manager) ClusterManagementTool

func (m *Manager) ClusterManagementTool() helix.HelixAdmin

func (*Manager) Connect

func (m *Manager) Connect() error

func (*Manager) Disconnect

func (m *Manager) Disconnect()

func (*Manager) HandleNewSession

func (m *Manager) HandleNewSession() (err error)

func (*Manager) HandleStateChanged

func (m *Manager) HandleStateChanged(state zk.State) (err error)

func (*Manager) Instance

func (m *Manager) Instance() string

func (*Manager) InstanceType

func (m *Manager) InstanceType() helix.InstanceType

func (*Manager) IsConnected

func (m *Manager) IsConnected() bool

func (*Manager) IsLeader

func (m *Manager) IsLeader() bool

func (*Manager) MessagingService

func (m *Manager) MessagingService() helix.ClusterMessagingService

func (*Manager) PropertyStore

func (m *Manager) PropertyStore()

func (*Manager) RemoveListener

func (m *Manager) RemoveListener(path string, listener interface{}) error

func (*Manager) SessionID

func (m *Manager) SessionID() string

func (*Manager) StateMachineEngine

func (m *Manager) StateMachineEngine() helix.StateMachineEngine

func (*Manager) Valid

func (m *Manager) Valid() bool

type ManagerOption

type ManagerOption func(*Manager)

func WithParticipantID

func WithParticipantID(id string) ManagerOption

func WithPprofPort

func WithPprofPort(port int) ManagerOption

func WithZkSessionTimeout

func WithZkSessionTimeout(d time.Duration) ManagerOption

func WithoutPprof

func WithoutPprof() ManagerOption

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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