// Command server 启动 sundynix-gateway —— 第 2 层业务网关 / 统一接入层。 package main import ( "log" "os" "github.com/sundynix/sundynix-gateway/internal/nats" "github.com/sundynix/sundynix-gateway/internal/router" "github.com/sundynix/sundynix-gateway/internal/store" ) func main() { natsURL := envOr("NATS_URL", "nats://localhost:4222") db := store.MustOpenPostgres() // MainDB: Users / Billing / DSL cache := store.MustOpenRedis() // CacheDB: Session / Rate Limit bus := nats.MustConnect(natsURL) // 接入 NATS 零拷贝骨干网 + 声明任务流 defer bus.Close() r := router.New(db, cache, bus) addr := envOr("GATEWAY_ADDR", ":8080") log.Printf("[gateway] listening on %s", addr) if err := r.Run(addr); err != nil { log.Fatalf("[gateway] exit: %v", err) } } func envOr(key, def string) string { if v := os.Getenv(key); v != "" { return v } return def }