blockchain/internal/config/config.go

41 lines
1.9 KiB
Go
Executable File

package config
import (
"time"
"github.com/zeromicro/go-zero/core/stores/redis"
"github.com/zeromicro/go-zero/zrpc"
)
type Config struct {
zrpc.RpcServerConf
Binance Binance
// Redis Cluster
RedisCluster redis.RedisConf
Cassandra Cassandra
}
type Binance struct {
Key string
Secret string
TestMode bool
WorkerSize int64
}
// 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"` // 最大重連間隔
}