3.(服務注冊)快速把服務注冊到Consul中


安裝go-plugins

go get -v github.com/micro/go-plugins,原來go-micro consul的支持已經遷移到了go-plugins里面

package main

import (
    "github.com/gin-gonic/gin"
    "github.com/micro/go-micro/registry"
    "github.com/micro/go-micro/web"
    "github.com/micro/go-plugins/registry/consul"
)

func main() {
    consulReg := consul.NewRegistry( //新建一個consul注冊的地址,也就是我們consul服務啟動的機器ip+端口
        registry.Addrs("localhost:8500"),
    )
    ginRouter := gin.Default()
    ginRouter.Handle("GET", "/user", func(context *gin.Context) {
        context.String(200, "user api")
    })
    ginRouter.Handle("GET", "/news", func(context *gin.Context) {
        context.String(200, "news api")
    })
    server := web.NewService( //go-micro很靈性的實現了注冊和反注冊,我們啟動后直接ctrl+c退出這個server,它會自動幫我們實現反注冊
        web.Name("prodservice"), //注冊進consul服務中的service名字
        web.Address(":8001"), //注冊進consul服務中的端口
        web.Handler(ginRouter), //web.Handler()返回一個Option,我們直接把ginRouter穿進去,就可以和gin完美的結合
        web.Registry(consulReg),//注冊到哪個服務器傷的consul中
    )
    server.Run()
}





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM