service

package
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2019 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetMetricsServiceIdx added in v0.5.0

func GetMetricsServiceIdx(serviceName string, logger bark.Logger) metrics.ServiceIdx

GetMetricsServiceIdx returns the metrics name

Types

type BootstrapParams

type BootstrapParams struct {
	Name               string
	Logger             bark.Logger
	MetricScope        tally.Scope
	RingpopFactory     RingpopFactory
	RPCFactory         common.RPCFactory
	PProfInitializer   common.PProfInitializer
	PersistenceConfig  config.Persistence
	ClusterMetadata    cluster.Metadata
	ReplicatorConfig   config.Replicator
	MetricsClient      metrics.Client
	MessagingClient    messaging.Client
	DynamicConfig      dynamicconfig.Client
	DispatcherProvider client.DispatcherProvider
	BlobstoreClient    blobstore.Client
}

BootstrapParams holds the set of parameters needed to bootstrap a service

func (*BootstrapParams) UpdateLoggerWithServiceName added in v0.4.0

func (params *BootstrapParams) UpdateLoggerWithServiceName(name string)

UpdateLoggerWithServiceName tag logging with service name from the top level

type RingpopFactory

type RingpopFactory interface {
	// CreateRingpop vends a bootstrapped ringpop object
	CreateRingpop(d *yarpc.Dispatcher) (*ringpop.Ringpop, error)
}

RingpopFactory provides a bootstrapped ringpop

type Service

type Service interface {
	// GetHostName returns the name of host running the service
	GetHostName() string

	// Start the service
	Start()

	// Stop stops the service
	Stop()

	GetLogger() bark.Logger

	GetMetricsClient() metrics.Client

	GetClientBean() client.Bean

	GetDispatcher() *yarpc.Dispatcher

	GetMembershipMonitor() membership.Monitor

	GetHostInfo() *membership.HostInfo

	// GetClusterMetadata returns the service cluster metadata
	GetClusterMetadata() cluster.Metadata

	// GetMessagingClient returns the messaging client against Kafka
	GetMessagingClient() messaging.Client
}

Service is the interface which must be implemented by all the services

func New

func New(params *BootstrapParams) Service

New instantiates a Service Instance TODO: have a better name for Service.

func NewTestService added in v0.3.11

func NewTestService(clusterMetadata cluster.Metadata, messagingClient messaging.Client, metrics metrics.Client,
	clientBean client.Bean, logger bark.Logger) Service

NewTestService is the new service instance created for testing

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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