feat kafka

This commit is contained in:
2026-01-24 22:46:15 +08:00
parent b45df9c4ee
commit 81e422d304
4 changed files with 9 additions and 15 deletions

View File

@@ -11,10 +11,9 @@ var client *Client
type Client struct {
producer sarama.AsyncProducer
consumer sarama.ConsumerGroup
serverName string
}
func Init(cfg *config.KafkaConfig, serverName string) error {
func Init(cfg *config.KafkaConfig) error {
producer, err := getAsyncProducer(cfg)
if err != nil {
return err
@@ -26,7 +25,6 @@ func Init(cfg *config.KafkaConfig, serverName string) error {
client = &Client{
producer: producer,
consumer: consumer,
serverName: serverName,
}
go producerError()
go consumerError()

View File

@@ -63,7 +63,7 @@ func (h *handler) Cleanup(sess sarama.ConsumerGroupSession) error {
func (h *handler) ConsumeClaim(sess sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error {
for message := range claim.Messages() {
ctx := NewCarrier().ExtractConsumer(message.Headers)
_, span := otel.Tracer(client.serverName).Start(ctx, "kafka.consume")
_, span := otel.Tracer("common.db.kafka").Start(ctx, "kafka.consume")
if err := h.handler(ctx, message); err != nil {
if stack, ok := err.(interface{ StackTrace() string }); ok {
span.AddEvent("Stack Trace", trace.WithAttributes(

View File

@@ -26,7 +26,7 @@ func (c *Producer) Produce(ctx context.Context, topic, value string) {
func producerError() {
for err := range client.producer.Errors() {
ctx := NewCarrier().ExtractProducer(err.Msg.Headers)
_, span := otel.Tracer(client.serverName).Start(ctx, "kafka.producer")
_, span := otel.Tracer("common.db.kafka").Start(ctx, "kafka.producer.error")
span.SetStatus(otelcodes.Error, err.Error())
span.End()
}

View File

@@ -13,7 +13,6 @@ import (
type DB struct {
DefaultModule
cfg *config.DBConfig
serviceName string
}
func (m *DB) Init() error {
@@ -37,7 +36,7 @@ func (m *DB) Init() error {
}
// KAFKA
if m.cfg.Kafka != nil {
if err := kafka.Init(m.cfg.Kafka, m.serviceName); err != nil {
if err := kafka.Init(m.cfg.Kafka); err != nil {
return err
}
}
@@ -67,8 +66,5 @@ func (m *DB) Bind(data ...any) Module {
if cfg, ok := data[0].(*config.DBConfig); ok {
m.cfg = cfg
}
if name, ok := data[1].(string); ok {
m.serviceName = name
}
return m
}