/** * @Author: david.yan(david.yan@qq.com) * @Date: 2021-11-26 15:25:03 */ package service import ( "bsm/full/module/ec/mall/internal/config" "bsm/full/module/ec/mall/internal/impl" "bsm/full/module/ec/mall/internal/server" "git.apinb.com/bsm-sdk/core/service" ) var ( ServiceKey = "Mall" // 服务标识符 ) func Run() { // 初始化配置 config.New(ServiceKey) // 初始化各类服务实例 impl.NewImpl() // 初始化gRPC服务器 s := server.New(config.Spec.Addr) // 创建微服务实例 srv := service.New( s.Grpc, &service.Options{ Addr: config.Spec.Addr, // 服务地址 MsConf: config.Spec.MicroService, // 微服务配置 EtcdClient: impl.EtcdService, // Etcd客户端 GatewayCtx: s.Ctx, // 网关上下文 GatewayConf: config.Spec.Gateway, // 网关配置 GatewayMux: s.Mux, // 网关多路复用器 }, ) // 确保服务停止时清理资源 defer srv.Stop() // 启动服务 srv.Start() } func main() { Run() }