micro

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2022 License: GPL-3.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddConsumer

func AddConsumer(consumer *Consumer) (err error)

func CircuitBreakerIncr added in v0.1.1

func CircuitBreakerIncr(circuitController *CircuitController) grpc_zap.Option

超时计数器

func DeleteConsumer

func DeleteConsumer(serviceName string)

func GetServiceConn

func GetServiceConn(serviceName string) (conn *grpc.ClientConn, err error)

func RecoveryInterceptor added in v0.2.0

func RecoveryInterceptor() grpc_recovery.Option

func StartProvide

func StartProvide(provider *Provider, port string) (err error)

在指定端口监听微服务,并将端口注册给注册中心

func Stop

func Stop()

Types

type CircuitConfig added in v0.1.1

type CircuitConfig struct {
	//熔断超时率,大于此数值时设置熔断时间,默认按照1分钟内的请求来计算
	TimeoutThresholdRate float64
	//熔断触发时持续时间
	TimeoutDuration time.Duration
	//熔断时重试发起的尝试时间,在此期间如果依然失败,则直接延长熔断时间
	RetryDuration time.Duration
	//熔断触发时持续时间
	CircuitDuration time.Duration
	//从指定数量开始做熔断判断
	CircuitBaseCount int64
}

type CircuitController added in v0.1.1

type CircuitController struct {
	CircuitConfig CircuitConfig
	// contains filtered or unexported fields
}

func (*CircuitController) AddReq added in v0.1.1

func (c *CircuitController) AddReq(num int64) int64

func (*CircuitController) AddTimeout added in v0.1.1

func (c *CircuitController) AddTimeout(num int64) int64

func (*CircuitController) Limit added in v0.1.1

func (c *CircuitController) Limit() bool

type Consumer

type Consumer struct {
	IConsumer
	// contains filtered or unexported fields
}

func CreateConsumer added in v0.1.1

func CreateConsumer(iConsumer IConsumer) (*Consumer, error)

func (*Consumer) GetNewTimeoutContext added in v0.1.1

func (c *Consumer) GetNewTimeoutContext() (ctx context.Context, cancel context.CancelFunc)

type GrpcRegisterFunc

type GrpcRegisterFunc func(s *grpc.Server)

type IConsumer added in v0.1.1

type IConsumer interface {
	GetServiceConnection() (conn *grpc.ClientConn, err error)
	GetServiceName() (serviceName string, err error)
	Stop() (err error)
}

type IProvider added in v0.1.1

type IProvider interface {
	RegisterServices(s *grpc.Server, port string) (err error)
	GetServiceName() (serviceName string)
	DeregisterServices() (err error)
}

type NacosConsumer

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

func CreateNacosConsumer

func CreateNacosConsumer(clientConfig *constant.ClientConfig, serverConfigs *[]constant.ServerConfig, ServiceName string, clusterName string, groupName string, timeoutSeconds int) (*NacosConsumer, error)

func (*NacosConsumer) CreateNacosProvider added in v0.0.4

func (nc *NacosConsumer) CreateNacosProvider(foo GrpcRegisterFunc, ServiceName string, serviceIp string, metadata *map[string]string, Logger *zap.Logger) (*NacosProvider, error)

使用consumer的namingClient构建provider

func (*NacosConsumer) GetBaseConsumer added in v0.1.5

func (nc *NacosConsumer) GetBaseConsumer() *Consumer

func (*NacosConsumer) GetServiceConnection

func (nc *NacosConsumer) GetServiceConnection() (conn *grpc.ClientConn, err error)

func (*NacosConsumer) GetServiceName

func (nc *NacosConsumer) GetServiceName() (serviceName string, err error)

func (*NacosConsumer) Stop

func (nc *NacosConsumer) Stop() (err error)

type NacosProvider

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

func CreateNacosCircuitProvider added in v0.1.1

func CreateNacosCircuitProvider(foo GrpcRegisterFunc, clientConfig *constant.ClientConfig, serverConfigs *[]constant.ServerConfig, ServiceName string, serviceIp string, clusterName string, groupName string, metadata *map[string]string, circuitConfig CircuitConfig, Logger *zap.Logger) (*NacosProvider, error)

func CreateNacosProvider

func CreateNacosProvider(foo GrpcRegisterFunc, clientConfig *constant.ClientConfig, serverConfigs *[]constant.ServerConfig, ServiceName string, serviceIp string, clusterName string, groupName string, metadata *map[string]string, Logger *zap.Logger) (*NacosProvider, error)

func (*NacosProvider) CreateNacosConsumer added in v0.0.4

func (np *NacosProvider) CreateNacosConsumer(ServiceName string, timeoutSeconds int) *NacosConsumer

使用provider的namingClient构建consumer

func (*NacosProvider) DeregisterServices

func (np *NacosProvider) DeregisterServices() (err error)

func (*NacosProvider) GetBaseProvider added in v0.1.5

func (np *NacosProvider) GetBaseProvider() *Provider

func (*NacosProvider) GetServiceName

func (np *NacosProvider) GetServiceName() (serviceName string)

func (*NacosProvider) RegisterServices

func (np *NacosProvider) RegisterServices(s *grpc.Server, port string) (err error)

type Provider

type Provider struct {
	IProvider
	Logger *zap.Logger
	// contains filtered or unexported fields
}

func CreateProvider added in v0.1.1

func CreateProvider(iProvider IProvider, CircuitConfig CircuitConfig, Logger *zap.Logger) (*Provider, error)

func (*Provider) GetCircuitController added in v0.1.1

func (p *Provider) GetCircuitController() *CircuitController

type ServiceConnection added in v0.0.7

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

func (*ServiceConnection) GetConn added in v0.0.8

func (s *ServiceConnection) GetConn() *grpc.ClientConn

func (*ServiceConnection) SetConn added in v0.0.8

func (s *ServiceConnection) SetConn(conn *grpc.ClientConn)

Jump to

Keyboard shortcuts

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