service

package
v0.5.5 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2019 License: MIT Imports: 19 Imported by: 19

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
	ESClient            es.Client
	ESConfig            *es.Config
	DynamicConfig       dynamicconfig.Client
	DispatcherProvider  client.DispatcherProvider
	BlobstoreClient     blobstore.Client
	DCRedirectionPolicy config.DCRedirectionPolicy
}

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