Documentation
¶
Index ¶
- type Container
- type ContainerHeartbeat
- type ContainerOption
- func WithAddr(v string) ContainerOption
- func WithDropExpiredShard(v bool) ContainerOption
- func WithEndpoints(v []string) ContainerOption
- func WithEtcdClient(v *clientv3.Client) ContainerOption
- func WithEtcdPrefix(v string) ContainerOption
- func WithId(v string) ContainerOption
- func WithService(v string) ContainerOption
- func WithShardDir(v string) ContainerOption
- func WithShardPrimitives(v core.ShardPrimitives) ContainerOption
- func WithStorageType(v storage.StorageType) ContainerOption
- type Heartbeat
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)
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
Click to show internal directories.
Click to hide internal directories.