Files
gjs be8f89f449
CI / changes (push) Successful in 5s
CI / docker-bff (push) Failing after 7s
CI / docker-product (push) Failing after 5s
CI / docker-admin (push) Failing after 4s
CI / docker-user (push) Failing after 6s
change layout
2026-08-20 15:41:44 +08:00

67 lines
1.5 KiB
Go

package main
import (
"flag"
"fmt"
"log"
"lone-services/bff/internal/config"
"lone-services/bff/internal/dialer"
"lone-services/bff/internal/response"
"lone-services/pkg/discovery"
"lone-services/pkg/utils"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/gateway"
)
var configFile = flag.String("f", "etc/bff.yaml", "the config file")
func main() {
flag.Parse()
var c config.Config
conf.MustLoad(*configFile, &c)
// Nacos配置拉取初始化
nacosParam := utils.NacosConfig{
Hosts: c.Nacos.Hosts,
NamespaceId: c.Nacos.NamespaceId,
Group: c.Nacos.Group,
ConfigID: c.Nacos.ConfigID,
}
utils.InitConfig(nacosParam)
if err := discovery.Init(discovery.Config{
Hosts: c.Nacos.Hosts,
NamespaceId: c.Nacos.NamespaceId,
Group: c.Nacos.Group,
}); err != nil {
log.Fatalf("nacos init: %v", err)
}
registerIP := c.Nacos.RegisterIP
if err := discovery.Register(discovery.Instance{
ServiceName: c.Name,
IP: registerIP,
Port: uint64(c.Port),
Group: c.Nacos.Group,
}); err != nil {
log.Fatalf("nacos register: %v", err)
}
defer func() {
if err := discovery.Deregister(); err != nil {
log.Printf("nacos deregister: %v", err)
}
}()
gw := gateway.MustNewServer(c.GatewayConf,
gateway.WithDialer(dialer.Nacos),
// 权鉴
gateway.WithMiddleware(response.UserReadMiddleware),
gateway.WithMiddleware(response.Wrap),
)
defer gw.Stop()
fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
gw.Start()
}