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"` // 最大重連間隔 }