apputil

package
v0.0.0-...-a6492d2 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: Apache-2.0 Imports: 19 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Container

type Container struct {
	Client  etcdutil.EtcdWrapper
	Session *concurrency.Session
	// contains filtered or unexported fields
}

Container 1 上报container的load信息,保证container的liveness,才能够参与shard的分配 2 与sm交互,下发add和drop给到Shard

func NewContainer

func NewContainer(opts ...ContainerOption) (*Container, error)

func (*Container) Close

func (ctr *Container) Close()

func (*Container) Done

func (ctr *Container) Done() <-chan struct{}

func (*Container) Id

func (ctr *Container) Id() string

func (*Container) Receiver

func (ctr *Container) Receiver() receiver.Receiver

func (*Container) Run

func (ctr *Container) Run() error

func (*Container) Service

func (ctr *Container) Service() string

func (*Container) SetService

func (ctr *Container) SetService(s string)

SetService 4 unit test

type ContainerHeartbeat

type ContainerHeartbeat struct {
	Heartbeat

	// load
	VirtualMemoryStat  *mem.VirtualMemoryStat `json:"virtualMemoryStat"`
	CPUUsedPercent     float64                `json:"cpuUsedPercent"`
	DiskIOCountersStat []*disk.IOCountersStat `json:"diskIOCountersStat"`
	NetIOCountersStat  *net.IOCountersStat    `json:"netIOCountersStat"`

	// Shards 直接带上id和lease,smserver可以基于lease做有效shard的过滤
	// TODO 支持key-range,前提是server端改造rb算法
	Shards []*storage.ShardKeeperDbValue `json:"shards"`
}

func (*ContainerHeartbeat) String

func (l *ContainerHeartbeat) String() string

type ContainerOption

type ContainerOption func(options *containerOptions)

func WithAddr

func WithAddr(v string) ContainerOption

func WithDropExpiredShard

func WithDropExpiredShard(v bool) ContainerOption

func WithEndpoints

func WithEndpoints(v []string) ContainerOption

func WithEtcdClient

func WithEtcdClient(v *clientv3.Client) ContainerOption

func WithEtcdPrefix

func WithEtcdPrefix(v string) ContainerOption

func WithId

func WithId(v string) ContainerOption

func WithService

func WithService(v string) ContainerOption

func WithShardDir

func WithShardDir(v string) ContainerOption

func WithShardPrimitives

func WithShardPrimitives(v core.ShardPrimitives) ContainerOption

func WithStorageType

func WithStorageType(v storage.StorageType) ContainerOption

type Heartbeat

type Heartbeat struct {
	// Timestamp sm中用于计算container删除事件的等待时间
	Timestamp int64 `json:"timestamp"`
}

func (*Heartbeat) String

func (s *Heartbeat) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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