placement

package
v0.0.0-...-949823d Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	GRPCContextKeyAcceptVNodes = "dapr-accept-vnodes"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HostInfo

type HostInfo struct {
	Name       string   `json:"name,omitempty"`
	Namespace  string   `json:"namespace,omitempty"`
	AppID      string   `json:"appId,omitempty"`
	ActorTypes []string `json:"actorTypes,omitempty"`
	UpdatedAt  int64    `json:"updatedAt,omitempty"`
	APILevel   uint32   `json:"apiLevel"`
}

type PlacementTables

type PlacementTables struct {
	HostList     []HostInfo `json:"hostList,omitempty"`
	TableVersion uint64     `json:"tableVersion"`
	APILevel     uint32     `json:"apiLevel"`
}

type Service

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

Service updates the Dapr runtimes with distributed hash tables for stateful entities.

func NewPlacementService

func NewPlacementService(opts ServiceOpts) *Service

NewPlacementService returns a new placement service.

func (*Service) GetPlacementTables

func (p *Service) GetPlacementTables() (*PlacementTables, error)

GetPlacementTables returns the current placement host infos.

func (*Service) MonitorLeadership

func (p *Service) MonitorLeadership(parentCtx context.Context) error

MonitorLeadership is used to monitor if we acquire or lose our role as the leader in the Raft cluster. There is some work the leader is expected to do, so we must react to changes

reference: https://github.com/hashicorp/consul/blob/master/agent/consul/leader.go

func (*Service) ReportDaprStatus

func (p *Service) ReportDaprStatus(stream placementv1pb.Placement_ReportDaprStatusServer) error

ReportDaprStatus gets a heartbeat report from different Dapr hosts.

func (*Service) Start

func (p *Service) Start(ctx context.Context) error

Start starts the placement service gRPC server. Blocks until the service is closed and all connections are drained.

type ServiceOpts

type ServiceOpts struct {
	RaftNode           *raft.Server
	MaxAPILevel        *uint32
	MinAPILevel        uint32
	SecProvider        security.Provider
	Port               int
	ListenAddress      string
	Healthz            healthz.Healthz
	KeepAliveTime      time.Duration
	KeepAliveTimeout   time.Duration
	DisseminateTimeout time.Duration
}

ServiceOpts contains options for the NewPlacementService method.

Directories

Path Synopsis
Package placement is an implementation of Consistent Hashing and Consistent Hashing With Bounded Loads.
Package placement is an implementation of Consistent Hashing and Consistent Hashing With Bounded Loads.

Jump to

Keyboard shortcuts

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