You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.5 KiB
59 lines
1.5 KiB
package service
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/IBM/sarama"
|
|
"github.com/TremblingV5/DouTok/pkg/dtviper"
|
|
"github.com/TremblingV5/DouTok/pkg/hbaseHandle"
|
|
"github.com/TremblingV5/DouTok/pkg/kafka"
|
|
redishandle "github.com/TremblingV5/DouTok/pkg/redisHandle"
|
|
"github.com/TremblingV5/DouTok/pkg/utils"
|
|
"github.com/go-redis/redis/v8"
|
|
)
|
|
|
|
var (
|
|
HBClient *hbaseHandle.HBaseClient
|
|
RedisClient *redis.Client
|
|
SyncProducer sarama.SyncProducer
|
|
ViperConfig *dtviper.Config
|
|
ConsumerGroup sarama.ConsumerGroup
|
|
)
|
|
|
|
func InitViper() {
|
|
ViperConfig = dtviper.ConfigInit("DOUTOK_MESSAGE", "message")
|
|
}
|
|
|
|
func InitHB() {
|
|
|
|
client := hbaseHandle.InitHB(ViperConfig.Viper.GetString("Hbase.Host"))
|
|
|
|
HBClient = &client
|
|
}
|
|
|
|
func InitSyncProducer() {
|
|
producer := kafka.InitSynProducer(ViperConfig.Viper.GetStringSlice("Kafka.Brokers"))
|
|
SyncProducer = producer
|
|
}
|
|
|
|
func InitConsumerGroup() {
|
|
cGroup := kafka.InitConsumerGroup(ViperConfig.Viper.GetStringSlice("Kafka.Brokers"), ViperConfig.Viper.GetStringSlice("Kafka.GroupIds")[0])
|
|
ConsumerGroup = cGroup
|
|
}
|
|
|
|
func InitRedisClient() {
|
|
|
|
Client, err := redishandle.InitRedisClient(
|
|
fmt.Sprintf("%s:%d", ViperConfig.Viper.GetString("Redis.Host"), ViperConfig.Viper.GetInt("Redis.Port")),
|
|
ViperConfig.Viper.GetString("Redis.Password"),
|
|
ViperConfig.Viper.GetInt("Redis.Databases.Default"),
|
|
)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
RedisClient = Client
|
|
}
|
|
|
|
func InitId() {
|
|
node := ViperConfig.Viper.GetInt64("Snowflake.Node")
|
|
utils.InitSnowFlake(node)
|
|
}
|
|
|