50 lines
906 B
Go
50 lines
906 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
|
|
"backend/common"
|
|
"backend/util"
|
|
|
|
"backend/sdk/abtest/config"
|
|
|
|
"backend/sdk/abtest/dao"
|
|
"backend/sdk/abtest/handler"
|
|
"backend/sdk/abtest/router"
|
|
"backend/sdk/abtest/service"
|
|
)
|
|
|
|
func main() {
|
|
cfg := config.Load()
|
|
common.Init()
|
|
db, err := util.ConnectMysql("log", "abtest")
|
|
if err != nil {
|
|
log.Fatalf("failed to open mysql: %v", err)
|
|
}
|
|
defer db.Close()
|
|
|
|
if err := db.Ping(); err != nil {
|
|
log.Fatalf("failed to ping mysql: %v", err)
|
|
}
|
|
db.SetMaxOpenConns(50)
|
|
db.SetMaxIdleConns(10)
|
|
|
|
log.Println("mysql connected")
|
|
|
|
// 初始化各层
|
|
d := dao.New(db)
|
|
svc := service.New(d)
|
|
h := handler.New(svc)
|
|
|
|
// 启动 HTTP 服务
|
|
r := router.Setup(h)
|
|
addr := fmt.Sprintf(":%s", cfg.Server.Port)
|
|
log.Printf("server starting on %s", addr)
|
|
if err := r.Run(addr); err != nil {
|
|
log.Fatalf("server failed: %v", err)
|
|
}
|
|
}
|