diff --git a/module/base.go b/module/base.go index c2f965d..eb053af 100644 --- a/module/base.go +++ b/module/base.go @@ -10,23 +10,13 @@ import ( // Base 基础模块 type Base struct { DefaultModule - log *config.LogConfig + Log *config.LogConfig } func (m *Base) Init() error { // 日志 - log.Init(m.log) + log.Init(m.Log) // 雪花 utils.InitSnowflake(int64(rand.Intn(1000))) 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 -} diff --git a/module/db.go b/module/db.go index 6a04891..bdfec1b 100644 --- a/module/db.go +++ b/module/db.go @@ -12,32 +12,32 @@ import ( // DB 数据库模块 type DB struct { DefaultModule - cfg *config.DBConfig - appName string + Cfg *config.DBConfig + AppName string } func (m *DB) Init() error { // ETCD - if m.cfg.Etcd != nil { - if err := etcd.Init(m.cfg.Etcd); err != nil { + if m.Cfg.Etcd != nil { + if err := etcd.Init(m.Cfg.Etcd); err != nil { return err } } // MYSQL - if m.cfg.MySQL != nil { - if err := mysql.Init(m.cfg.MySQL); err != nil { + if m.Cfg.MySQL != nil { + if err := mysql.Init(m.Cfg.MySQL); err != nil { return err } } // REDIS - if m.cfg.Redis != nil { - if err := redis.Init(m.cfg.Redis); err != nil { + if m.Cfg.Redis != nil { + if err := redis.Init(m.Cfg.Redis); err != nil { return err } } // KAFKA - if m.cfg.Kafka != nil { - if err := kafka.Init(m.cfg.Kafka, m.appName); err != nil { + if m.Cfg.Kafka != nil { + if err := kafka.Init(m.Cfg.Kafka, m.AppName); err != nil { return err } } @@ -59,16 +59,3 @@ func (m *DB) Stop() error { } 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 -} diff --git a/module/grpc.go b/module/grpc.go index 77f5389..a324c06 100644 --- a/module/grpc.go +++ b/module/grpc.go @@ -8,30 +8,20 @@ import ( // Grpc Grpc模块 type Grpc struct { DefaultModule - server service.IService + Server service.IService } func (m *Grpc) Start(ready *sync.WaitGroup) error { - m.server.Init(ready) + m.Server.Init(ready) return nil } func (m *Grpc) AfterStart() error { - m.server.SetReady() + m.Server.SetReady() return nil } func (m *Grpc) Stop() error { - m.server.Close() + m.Server.Close() 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 -} diff --git a/module/module.go b/module/module.go index 130c087..f507386 100644 --- a/module/module.go +++ b/module/module.go @@ -9,7 +9,6 @@ type Module interface { Start(ready *sync.WaitGroup) error // 启动 AfterStart() error // 启动之后 Stop() error // 停止 - Bind(data ...any) Module // 绑定数据 } type DefaultModule struct { @@ -31,7 +30,3 @@ func (m *DefaultModule) AfterStart() error { func (m *DefaultModule) Stop() error { return nil } - -func (m *DefaultModule) Bind(_ ...any) Module { - return m -} diff --git a/module/prometheus.go b/module/prometheus.go index 76eebdc..02650b8 100644 --- a/module/prometheus.go +++ b/module/prometheus.go @@ -14,9 +14,9 @@ import ( // Prometheus 普罗米修斯模块 type Prometheus struct { DefaultModule + MetricCfg *config.MetricConfig wg *sync.WaitGroup server *http.Server - metricCfg *config.MetricConfig } func (m *Prometheus) Init() error { @@ -29,7 +29,7 @@ func (m *Prometheus) Start(ready *sync.WaitGroup) error { go func() { defer m.wg.Done() 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(), } ready.Done() @@ -48,13 +48,3 @@ func (m *Prometheus) Stop() error { m.wg.Wait() 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 -} diff --git a/module/tracer.go b/module/tracer.go index d220b1a..1a2edf9 100644 --- a/module/tracer.go +++ b/module/tracer.go @@ -15,16 +15,16 @@ import ( // Tracer 链路追踪模块 type Tracer struct { DefaultModule + MetricCfg *config.MetricConfig + ServiceName string tp *sdktrace.TracerProvider - metricCfg *config.MetricConfig - serviceName string } func (m *Tracer) Init() error { exporter, err := otlptracegrpc.New( context.Background(), otlptracegrpc.WithInsecure(), - otlptracegrpc.WithEndpoint(m.metricCfg.Jaeger.Endpoint), + otlptracegrpc.WithEndpoint(m.MetricCfg.Jaeger.Endpoint), ) if err != nil { return err @@ -34,7 +34,7 @@ func (m *Tracer) Init() error { sdktrace.WithBatcher(exporter), sdktrace.WithResource(resource.NewWithAttributes( semconv.SchemaURL, - semconv.ServiceNameKey.String(m.serviceName), + semconv.ServiceNameKey.String(m.ServiceName), )), ) otel.SetTracerProvider(m.tp) @@ -51,16 +51,3 @@ func (m *Tracer) Stop() error { } 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 -}