1 Star 0 Fork 0

jhj420 / product

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.go 2.07 KB
一键复制 编辑 原始数据 按行查看 历史
jhj420 提交于 2022-04-12 09:26 . first commit
package main
import (
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
"github.com/micro/go-micro/v2"
log "github.com/micro/go-micro/v2/logger"
"github.com/micro/go-micro/v2/registry"
consul "github.com/micro/go-plugins/registry/consul/v2"
opentracing2 "github.com/micro/go-plugins/wrapper/trace/opentracing/v2"
"github.com/opentracing/opentracing-go"
"product/common"
"product/domain/repository"
service2 "product/domain/service"
"product/handler"
product "product/proto/product"
)
func main() {
//配置中心
consulConfig,err := common.GetConsulConfig("127.0.0.1",8500,"/micro/config")
if err != nil{
log.Error(err)
}
//注册中心
consulRegistry := consul.NewRegistry(func(options *registry.Options) {
options.Addrs = []string{
"127.0.0.1:8500",
}
})
//链路追踪
t,io,err := common.NewTracer("go.micro.service.product","localhost:6831")
if err != nil{
log.Fatal(err)
}
defer io.Close()
opentracing.SetGlobalTracer(t)
//连接数据库
//获取mysql配置,路径中不带前缀
mysqlInfo := common.GetMysqlFromConsul(consulConfig,"mysql")
//连接数据库
db,err := gorm.Open("mysql",mysqlInfo.User+":"+mysqlInfo.Pwd+"@/"+mysqlInfo.Database+"?charset=utf8&parseTime=True&loc=Local")
if err !=nil {
log.Error(err)
}
defer db.Close()
//禁止复表
db.SingularTable(true)
//数据表初始化 不能重复执行
//rp := repository.NewProductRepository(db)
//_ = rp.InitTable()
productDataService := service2.NewProductDataService(repository.NewProductRepository(db))
// 设置服务
service := micro.NewService(
micro.Name("go.micro.service.product"),
micro.Version("latest"),
micro.Address("127.0.0.1:8082"),
//添加注册中心
micro.Registry(consulRegistry),
//绑定链路追踪
micro.WrapHandler(opentracing2.NewHandlerWrapper(opentracing.GlobalTracer())),
)
// Initialise service
service.Init()
// Register Handler
_ = product.RegisterProductHandler(service.Server(), &handler.Product{ProductDataService: productDataService})
// Run service
if err := service.Run(); err != nil {
log.Fatal(err)
}
}
1
https://gitee.com/jhj420/product.git
git@gitee.com:jhj420/product.git
jhj420
product
product
master

搜索帮助