feat 模块删除bind函数
This commit is contained in:
@@ -10,23 +10,13 @@ import (
|
|||||||
// Base 基础模块
|
// Base 基础模块
|
||||||
type Base struct {
|
type Base struct {
|
||||||
DefaultModule
|
DefaultModule
|
||||||
log *config.LogConfig
|
Log *config.LogConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Base) Init() error {
|
func (m *Base) Init() error {
|
||||||
// 日志
|
// 日志
|
||||||
log.Init(m.log)
|
log.Init(m.Log)
|
||||||
// 雪花
|
// 雪花
|
||||||
utils.InitSnowflake(int64(rand.Intn(1000)))
|
utils.InitSnowflake(int64(rand.Intn(1000)))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Base) Bind(data ...any) Module {
|
|
||||||
if data == nil || len(data) == 0 {
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
if l, ok := data[0].(*config.LogConfig); ok {
|
|
||||||
m.log = l
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
33
module/db.go
33
module/db.go
@@ -12,32 +12,32 @@ import (
|
|||||||
// DB 数据库模块
|
// DB 数据库模块
|
||||||
type DB struct {
|
type DB struct {
|
||||||
DefaultModule
|
DefaultModule
|
||||||
cfg *config.DBConfig
|
Cfg *config.DBConfig
|
||||||
appName string
|
AppName string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *DB) Init() error {
|
func (m *DB) Init() error {
|
||||||
// ETCD
|
// ETCD
|
||||||
if m.cfg.Etcd != nil {
|
if m.Cfg.Etcd != nil {
|
||||||
if err := etcd.Init(m.cfg.Etcd); err != nil {
|
if err := etcd.Init(m.Cfg.Etcd); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// MYSQL
|
// MYSQL
|
||||||
if m.cfg.MySQL != nil {
|
if m.Cfg.MySQL != nil {
|
||||||
if err := mysql.Init(m.cfg.MySQL); err != nil {
|
if err := mysql.Init(m.Cfg.MySQL); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// REDIS
|
// REDIS
|
||||||
if m.cfg.Redis != nil {
|
if m.Cfg.Redis != nil {
|
||||||
if err := redis.Init(m.cfg.Redis); err != nil {
|
if err := redis.Init(m.Cfg.Redis); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// KAFKA
|
// KAFKA
|
||||||
if m.cfg.Kafka != nil {
|
if m.Cfg.Kafka != nil {
|
||||||
if err := kafka.Init(m.cfg.Kafka, m.appName); err != nil {
|
if err := kafka.Init(m.Cfg.Kafka, m.AppName); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -59,16 +59,3 @@ func (m *DB) Stop() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *DB) Bind(data ...any) Module {
|
|
||||||
if data == nil || len(data) == 0 {
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
if cfg, ok := data[0].(*config.DBConfig); ok {
|
|
||||||
m.cfg = cfg
|
|
||||||
}
|
|
||||||
if appName, ok := data[1].(string); ok {
|
|
||||||
m.appName = appName
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -8,30 +8,20 @@ import (
|
|||||||
// Grpc Grpc模块
|
// Grpc Grpc模块
|
||||||
type Grpc struct {
|
type Grpc struct {
|
||||||
DefaultModule
|
DefaultModule
|
||||||
server service.IService
|
Server service.IService
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Grpc) Start(ready *sync.WaitGroup) error {
|
func (m *Grpc) Start(ready *sync.WaitGroup) error {
|
||||||
m.server.Init(ready)
|
m.Server.Init(ready)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Grpc) AfterStart() error {
|
func (m *Grpc) AfterStart() error {
|
||||||
m.server.SetReady()
|
m.Server.SetReady()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Grpc) Stop() error {
|
func (m *Grpc) Stop() error {
|
||||||
m.server.Close()
|
m.Server.Close()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Grpc) Bind(data ...any) Module {
|
|
||||||
if data == nil || len(data) == 0 {
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
if ser, ok := data[0].(service.IService); ok {
|
|
||||||
m.server = ser
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ type Module interface {
|
|||||||
Start(ready *sync.WaitGroup) error // 启动
|
Start(ready *sync.WaitGroup) error // 启动
|
||||||
AfterStart() error // 启动之后
|
AfterStart() error // 启动之后
|
||||||
Stop() error // 停止
|
Stop() error // 停止
|
||||||
Bind(data ...any) Module // 绑定数据
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type DefaultModule struct {
|
type DefaultModule struct {
|
||||||
@@ -31,7 +30,3 @@ func (m *DefaultModule) AfterStart() error {
|
|||||||
func (m *DefaultModule) Stop() error {
|
func (m *DefaultModule) Stop() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *DefaultModule) Bind(_ ...any) Module {
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -14,9 +14,9 @@ import (
|
|||||||
// Prometheus 普罗米修斯模块
|
// Prometheus 普罗米修斯模块
|
||||||
type Prometheus struct {
|
type Prometheus struct {
|
||||||
DefaultModule
|
DefaultModule
|
||||||
|
MetricCfg *config.MetricConfig
|
||||||
wg *sync.WaitGroup
|
wg *sync.WaitGroup
|
||||||
server *http.Server
|
server *http.Server
|
||||||
metricCfg *config.MetricConfig
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Prometheus) Init() error {
|
func (m *Prometheus) Init() error {
|
||||||
@@ -29,7 +29,7 @@ func (m *Prometheus) Start(ready *sync.WaitGroup) error {
|
|||||||
go func() {
|
go func() {
|
||||||
defer m.wg.Done()
|
defer m.wg.Done()
|
||||||
m.server = &http.Server{
|
m.server = &http.Server{
|
||||||
Addr: fmt.Sprintf("%v:%v", m.metricCfg.Prometheus.Address, m.metricCfg.Prometheus.Port),
|
Addr: fmt.Sprintf("%v:%v", m.MetricCfg.Prometheus.Address, m.MetricCfg.Prometheus.Port),
|
||||||
Handler: promhttp.Handler(),
|
Handler: promhttp.Handler(),
|
||||||
}
|
}
|
||||||
ready.Done()
|
ready.Done()
|
||||||
@@ -48,13 +48,3 @@ func (m *Prometheus) Stop() error {
|
|||||||
m.wg.Wait()
|
m.wg.Wait()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Prometheus) Bind(data ...any) Module {
|
|
||||||
if data == nil || len(data) == 0 {
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
if mc, ok := data[0].(*config.MetricConfig); ok {
|
|
||||||
m.metricCfg = mc
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -15,16 +15,16 @@ import (
|
|||||||
// Tracer 链路追踪模块
|
// Tracer 链路追踪模块
|
||||||
type Tracer struct {
|
type Tracer struct {
|
||||||
DefaultModule
|
DefaultModule
|
||||||
|
MetricCfg *config.MetricConfig
|
||||||
|
ServiceName string
|
||||||
tp *sdktrace.TracerProvider
|
tp *sdktrace.TracerProvider
|
||||||
metricCfg *config.MetricConfig
|
|
||||||
serviceName string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Tracer) Init() error {
|
func (m *Tracer) Init() error {
|
||||||
exporter, err := otlptracegrpc.New(
|
exporter, err := otlptracegrpc.New(
|
||||||
context.Background(),
|
context.Background(),
|
||||||
otlptracegrpc.WithInsecure(),
|
otlptracegrpc.WithInsecure(),
|
||||||
otlptracegrpc.WithEndpoint(m.metricCfg.Jaeger.Endpoint),
|
otlptracegrpc.WithEndpoint(m.MetricCfg.Jaeger.Endpoint),
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -34,7 +34,7 @@ func (m *Tracer) Init() error {
|
|||||||
sdktrace.WithBatcher(exporter),
|
sdktrace.WithBatcher(exporter),
|
||||||
sdktrace.WithResource(resource.NewWithAttributes(
|
sdktrace.WithResource(resource.NewWithAttributes(
|
||||||
semconv.SchemaURL,
|
semconv.SchemaURL,
|
||||||
semconv.ServiceNameKey.String(m.serviceName),
|
semconv.ServiceNameKey.String(m.ServiceName),
|
||||||
)),
|
)),
|
||||||
)
|
)
|
||||||
otel.SetTracerProvider(m.tp)
|
otel.SetTracerProvider(m.tp)
|
||||||
@@ -51,16 +51,3 @@ func (m *Tracer) Stop() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Tracer) Bind(data ...any) Module {
|
|
||||||
if data == nil || len(data) == 0 {
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
if mc, ok := data[0].(*config.MetricConfig); ok {
|
|
||||||
m.metricCfg = mc
|
|
||||||
}
|
|
||||||
if name, ok := data[1].(string); ok {
|
|
||||||
m.serviceName = name
|
|
||||||
}
|
|
||||||
return m
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user