feat 模块删除bind函数
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
33
module/db.go
33
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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user