blockchain/internal/config/config.go

41 lines
1.9 KiB
Go
Raw Normal View History

2025-08-04 01:55:56 +00:00
package config
2025-08-04 14:02:01 +00:00
import (
2025-08-06 23:41:18 +00:00
"time"
2025-08-04 14:02:01 +00:00
"github.com/zeromicro/go-zero/core/stores/redis"
"github.com/zeromicro/go-zero/zrpc"
)
2025-08-04 01:55:56 +00:00
type Config struct {
zrpc.RpcServerConf
2025-08-04 14:02:01 +00:00
Binance Binance
// Redis Cluster
RedisCluster redis.RedisConf
2025-08-05 23:41:29 +00:00
Cassandra Cassandra
2025-08-04 08:58:30 +00:00
}
type Binance struct {
2025-08-05 14:11:01 +00:00
Key string
Secret string
TestMode bool
WorkerSize int64
2025-08-04 01:55:56 +00:00
}
2025-08-05 23:41:29 +00:00
// Cassandra 資料庫設定
type Cassandra struct {
Hosts []string `json:"hosts" env:"CASSANDRA_HOSTS"` // Cassandra 主機列表(逗號分隔)
Port int `json:"port" env:"CASSANDRA_PORT"` // 連線埠
Keyspace string `json:"keyspace" env:"CASSANDRA_KEYSPACE"` // 使用的 Keyspace 名稱
UseAuth bool `json:"useAuth" env:"CASSANDRA_USE_AUTH"` // 是否使用帳號密碼
Username string `json:"username" env:"CASSANDRA_USERNAME"` // 認證用戶名
Password string `json:"password" env:"CASSANDRA_PASSWORD"` // 認證密碼
ConnectTimeoutSec int `json:"connectTimeoutSec" env:"CASSANDRA_CONNECT_TIMEOUT"` // 連線逾時(秒)
NumConns int `json:"numConns" env:"CASSANDRA_NUM_CONNS"` // 每節點連線數
MaxRetries int `json:"maxRetries" env:"CASSANDRA_MAX_RETRIES"` // 重試次數
RetryMin time.Duration `json:"retryMin" env:"CASSANDRA_RETRY_MIN"` // 最小重試間隔
RetryMax time.Duration `json:"retryMax" env:"CASSANDRA_RETRY_MAX"` // 最大重試間隔
ReconnectInitial time.Duration `json:"reconnectInitial" env:"CASSANDRA_RECONNECT_INITIAL"` // 初始重連間隔
ReconnectMax time.Duration `json:"reconnectMax" env:"CASSANDRA_RECONNECT_MAX"` // 最大重連間隔
}