bootstrap

package module
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2024 License: MIT Imports: 77 Imported by: 0

README

bootstrap

实现引导应用启动的某项设置。

配置

微服务或者说云原生应用的配置最佳实践是将配置文件和应用代码分开管理——不将配置文件放入代码仓库,也不打包进容器镜像,而是在服务运行时,把配置文件挂载进去或者直接从配置中心加载。Kratos的config组件就是用来帮助应用从各种配置源加载配置。

  • 本地文件file
  • 配置中心的适配:Consul、Etcd、Nacos、Apollo、Polaris、Kubernetes

更多信息

其他功能:

  • 支持日志记录器:Stdout、Zap、Logrus、Fluent、Aliyun、Tencent
  • 支持HTTP服务:Kratos Rest
  • 支持GRPC服务端和客户端
  • 支持数据库:Redis
  • 支持服务注册发现中心:Consul、Etcd、Nacos、Eureka、Zookeeper、Kubernetes、Servicecomb
  • 支持对象存储:Minio
  • 支持链路追踪:Zipkin、otlp-http、otlp-grpc、Jaeger

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BeDaemon added in v0.0.2

func BeDaemon(arg string)

BeDaemon 将当前进程转为守护进程

func Bootstrap added in v0.0.2

func Bootstrap(serviceInfo *ServiceInfo) (*conf.Bootstrap, log.Logger, registry.Registrar)

Bootstrap 应用引导启动

func CreateGrpcClient added in v0.0.2

func CreateGrpcClient(ctx context.Context, r registry.Discovery, serviceName string, cfg *config.Bootstrap, mw ...middleware.Middleware) grpc.ClientConnInterface

CreateGrpcClient 创建GRPC客户端

func CreateGrpcServer added in v0.0.2

func CreateGrpcServer(cfg *config.Bootstrap, mw ...middleware.Middleware) *kratosGrpc.Server

CreateGrpcServer 创建GRPC服务端

func CreateRestServer

func CreateRestServer(cfg *config.Bootstrap, mw ...middleware.Middleware) *kratosRest.Server

CreateRestServer 创建REST服务端

func LoadBootstrapConfig added in v0.0.2

func LoadBootstrapConfig(configPath string) error

LoadBootstrapConfig 加载程序引导配置

func LoadRemoteConfigSourceConfigs added in v0.0.2

func LoadRemoteConfigSourceConfigs(configPath string) (*conf.RemoteConfig, error)

LoadRemoteConfigSourceConfigs 加载远程配置源的本地配置

func NewAliyunLogger added in v0.0.2

func NewAliyunLogger(cfg *config.Logger) log.Logger

NewAliyunLogger 创建一个新的日志记录器 - Aliyun

func NewApolloConfigSource added in v0.0.2

func NewApolloConfigSource(c *conf.RemoteConfig) config.Source

NewApolloConfigSource 创建一个远程配置源 - Apollo

func NewConfigProvider added in v0.0.2

func NewConfigProvider(configPath string) config.Config

NewConfigProvider 创建一个配置

func NewConsulConfigSource added in v0.0.2

func NewConsulConfigSource(c *conf.RemoteConfig) config.Source

NewConsulConfigSource 创建一个远程配置源 - Consul

func NewConsulRegistry added in v0.0.2

func NewConsulRegistry(cfg *config.Registry) *consulKratos.Registry

NewConsulRegistry 创建一个注册发现客户端 - Consul

func NewDiscovery added in v0.0.2

func NewDiscovery(cfg *config.Registry) registry.Discovery

NewDiscovery 创建一个发现客户端

func NewEtcdConfigSource added in v0.0.2

func NewEtcdConfigSource(c *conf.RemoteConfig) config.Source

NewEtcdConfigSource 创建一个远程配置源 - Etcd

func NewEtcdRegistry added in v0.0.2

func NewEtcdRegistry(cfg *config.Registry) *etcdKratos.Registry

NewEtcdRegistry 创建一个注册发现客户端 - Etcd

func NewEurekaRegistry added in v0.0.2

func NewEurekaRegistry(cfg *config.Registry) *eurekaKratos.Registry

NewEurekaRegistry 创建一个注册发现客户端 - Eureka

func NewFileConfigSource added in v0.0.2

func NewFileConfigSource(filePath string) config.Source

NewFileConfigSource 创建一个本地文件配置源

func NewFluentLogger added in v0.0.2

func NewFluentLogger(cfg *config.Logger) log.Logger

NewFluentLogger 创建一个新的日志记录器 - Fluent

func NewKubernetesConfigSource added in v0.0.2

func NewKubernetesConfigSource(c *conf.RemoteConfig) config.Source

NewKubernetesConfigSource 创建一个远程配置源 - Kubernetes

func NewKubernetesRegistry added in v0.0.2

func NewKubernetesRegistry(_ *config.Registry) *k8sKratos.Registry

NewKubernetesRegistry 创建一个注册发现客户端 - Kubernetes

func NewLogger added in v0.0.2

func NewLogger(cfg *config.Logger) log.Logger

NewLogger 创建一个新的日志记录器

func NewLoggerProvider added in v0.0.2

func NewLoggerProvider(cfg *config.Logger, serviceInfo *ServiceInfo) log.Logger

NewLoggerProvider 创建一个新的日志记录器提供者

func NewLogrusLogger added in v0.0.2

func NewLogrusLogger(cfg *config.Logger) log.Logger

NewLogrusLogger 创建一个新的日志记录器 - Logrus

func NewMinIoClient added in v0.0.2

func NewMinIoClient(conf *config.OSS) *minio.Client

func NewNacosConfigSource added in v0.0.2

func NewNacosConfigSource(c *conf.RemoteConfig) config.Source

NewNacosConfigSource 创建一个远程配置源 - Nacos

func NewNacosRegistry added in v0.0.2

func NewNacosRegistry(cfg *config.Registry) *nacosKratos.Registry

NewNacosRegistry 创建一个注册发现客户端 - Nacos

func NewOtlpGrpcExporter added in v0.0.2

func NewOtlpGrpcExporter(ctx context.Context, endpoint string, insecure bool, options otlptracegrpc.Option) (trace.SpanExporter, error)

NewOtlpGrpcExporter 创建OTLP/gRPC导出器,默认端口:4317

func NewOtlpHttpExporter added in v0.0.2

func NewOtlpHttpExporter(ctx context.Context, endpoint string, insecure bool, options ...otlptracehttp.Option) (trace.SpanExporter, error)

NewOtlpHttpExporter 创建OTLP/HTTP导出器,默认端口:4318

func NewPolarisConfigSource added in v0.0.2

func NewPolarisConfigSource(_ *conf.RemoteConfig) config.Source

NewPolarisConfigSource 创建一个远程配置源 - Polaris

func NewRedisClient added in v0.0.2

func NewRedisClient(cfg *config.Data) (rdb *redis.Client)

NewRedisClient create go-redis client

func NewRegistry added in v0.0.2

func NewRegistry(cfg *config.Registry) registry.Registrar

NewRegistry 创建一个注册客户端

func NewRemoteConfigSource added in v0.0.2

func NewRemoteConfigSource(c *conf.RemoteConfig) config.Source

NewRemoteConfigSource 创建一个远程配置源

func NewServicecombRegistry added in v0.0.2

func NewServicecombRegistry(cfg *config.Registry) *servicecombKratos.Registry

NewServicecombRegistry 创建一个注册发现客户端 - Servicecomb

func NewStdLogger added in v0.0.2

func NewStdLogger() log.Logger

NewStdLogger 创建一个新的日志记录器 - Kratos内置,控制台输出

func NewTencentLogger added in v0.0.2

func NewTencentLogger(cfg *config.Logger) log.Logger

NewTencentLogger 创建一个新的日志记录器 - Tencent

func NewTracerExporter added in v0.0.2

func NewTracerExporter(exporterName, endpoint string, insecure bool) (trace.SpanExporter, error)

NewTracerExporter 创建一个导出器,支持:zipkin、otlp-http、otlp-grpc

func NewTracerProvider added in v0.0.2

func NewTracerProvider(cfg *config.Tracer, serviceInfo *ServiceInfo) error

NewTracerProvider 创建一个链路追踪器

func NewZapLogger added in v0.0.2

func NewZapLogger(cfg *config.Logger) log.Logger

NewZapLogger 创建一个新的日志记录器 - Zap

func NewZipkinExporter added in v0.0.2

func NewZipkinExporter(_ context.Context, endpoint string) (trace.SpanExporter, error)

NewZipkinExporter 创建一个zipkin导出器,默认对端地址:http://localhost:9411/api/v2/spans

func NewZooKeeperRegistry added in v0.0.2

func NewZooKeeperRegistry(cfg *config.Registry) *zookeeperKratos.Registry

NewZooKeeperRegistry 创建一个注册发现客户端 - ZooKeeper

func RegisterConfig added in v0.0.2

func RegisterConfig(c interface{})

RegisterConfig 注册配置

Types

type CommandFlags added in v0.0.2

type CommandFlags struct {
	Conf       string // 引导配置文件路径,默认为:../../configs
	Env        string // 开发环境:dev、debug……
	ConfigHost string // 远程配置服务端地址
	ConfigType string // 远程配置服务端类型
	Daemon     bool   // 是否转为守护进程
}

func NewCommandFlags added in v0.0.2

func NewCommandFlags() *CommandFlags

func (*CommandFlags) Init added in v0.0.2

func (f *CommandFlags) Init()

type ConfigType added in v0.0.2

type ConfigType string
const (
	ConfigTypeLocalFile  ConfigType = "file"
	ConfigTypeNacos      ConfigType = "nacos"
	ConfigTypeConsul     ConfigType = "consul"
	ConfigTypeEtcd       ConfigType = "etcd"
	ConfigTypeApollo     ConfigType = "apollo"
	ConfigTypeKubernetes ConfigType = "kubernetes"
	ConfigTypePolaris    ConfigType = "polaris"
)

type LoggerType added in v0.0.2

type LoggerType string
const (
	LoggerTypeStd     LoggerType = "std"
	LoggerTypeFluent  LoggerType = "fluent"
	LoggerTypeLogrus  LoggerType = "logrus"
	LoggerTypeZap     LoggerType = "zap"
	LoggerTypeAliyun  LoggerType = "aliyun"
	LoggerTypeTencent LoggerType = "tencent"
)

type RegistryType added in v0.0.2

type RegistryType string
const (
	RegistryTypeConsul      RegistryType = "consul"
	RegistryTypeEtcd        RegistryType = "etcd"
	RegistryTypeZooKeeper   RegistryType = "zookeeper"
	RegistryTypeNacos       RegistryType = "nacos"
	RegistryTypeKubernetes  RegistryType = "kubernetes"
	RegistryTypeEureka      RegistryType = "eureka"
	RegistryTypePolaris     RegistryType = "polaris"
	RegistryTypeServicecomb RegistryType = "servicecomb"
)

type ServiceInfo added in v0.0.2

type ServiceInfo struct {
	Name     string
	Version  string
	Id       string
	Metadata map[string]string
}

func NewServiceInfo added in v0.0.2

func NewServiceInfo(name, version, id string) *ServiceInfo

func (*ServiceInfo) GetInstanceId added in v0.0.2

func (s *ServiceInfo) GetInstanceId() string

func (*ServiceInfo) SetMataData added in v0.0.2

func (s *ServiceInfo) SetMataData(k, v string)

Directories

Path Synopsis
api module
config
consul Module
gen
logger
fluent Module
logrus Module
tencent Module
zap Module

Jump to

Keyboard shortcuts

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