service

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2022 License: Apache-2.0 Imports: 22 Imported by: 0

README

Service 服务组件

服务对象是titan微服务的入口,她可以:

  • 注册GRPC服务,作为单个或多个服务的运行容器
  • 自动完成服务注册,支持 etcd、naco和 consol
  • 支持本地日志与共享日志
  • 支持JWT,可自动读取用户令牌中的信息并写入用户上下文内通过IsAuthCurrentUser获取
  • 可支持TLS安全连接
  • 可支持Unary与Stream模式GRPC服务
  • 可支持服务方法反射(能让evan等工具进行直接调用)

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewHealthServer

func NewHealthServer() health.HealthServer

Types

type MicroService

type MicroService interface {
	// Register 将GRPC服务实例关联至到微服务容器
	Register(registerDesc *grpc.ServiceDesc, srv interface{}) MicroService

	// Options 获取微服务容器内的全部选项
	Options() *Options

	// Instances 获取已注册的GRPC服务实例
	Instances() []interface{}

	// Server 获取内置的gRPC服务器实例
	Server() *grpc.Server

	// Start 启动微服务
	Start()
}

func New

func New(options ...Option) MicroService

type Option

type Option func(*Options)

func Auth

func Auth(a auth.Tokens) Option

func HealthCheck

func HealthCheck(enabled bool) Option

func Listen

func Listen(addr string) Option

func Logger

func Logger(logger *zap.Logger) Option

func Name

func Name(name string) Option

Name 设置微服务的唯一服务名称

func Reflection

func Reflection(enabled bool) Option

func Registry

func Registry(registry registry.Registry) Option

func TLS

func TLS(certFile, keyFile string) Option

func TTL

func TTL(ttl int) Option

func Version

func Version(version string) Option

Version 设置微服务的运行版本 默认为 "latest"

func WithConfig

func WithConfig(conf *config.ServerConfig) Option

type Options

type Options struct {
	ServiceDesc      *runtime.ServiceDesc
	EnableReflection bool                 // 是否启用反射特性
	HealthCheck      bool                 // 是否启用健康度检查
	Auth             auth.Tokens          // 身份验证组件
	Registry         registry.Registry    // 注册中心
	Config           *config.ServerConfig // 配置中心
	Logger           *zap.Logger          // 日志
}

Options 微服务运行期设置选项

Jump to

Keyboard shortcuts

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