module
Version:
v0.1.1
Opens a new window with list of versions in this module.
Published: Oct 10, 2021
License: GPL-3.0
Opens a new window with license information.
README
¶
用法
//gin调用方式
discovery.EnableDiscoverGinClient(ginEngine)
//fiber调用方式
discovery.EnableDiscoverFiberClient(fiberApp)
示例
package main
import (
"fmt"
"github.com/gofiber/fiber"
discovery "go-service-discover/consul"
"go-service-discover/consul/config"
"log"
"os"
"os/signal"
"strconv"
"syscall"
"time"
)
func main(){
errChan := make(chan error)
var err error
// 启动fibe引擎
app := fiber.New()
// 先设置服务名称
config.ConsulClientConfig.ServiceName = "service-name"
// ConsulDiscovery,提供一下两个Api
//discovery.EnableDiscoverGinClient(ginEngine)
discovery.EnableDiscoverFiberClient(app)
address := (config.ConsulClientConfig.ServiceHost) + ":" + strconv.Itoa(config.ConsulClientConfig.ServicePort)
go func() {
// 启动 http server , 监听端口
log.Println("Http Server start at port:" + address)
errChan <- app.Listen(address)
}()
go func() {
// 监控系统信号,等待 ctrl + c 系统信号通知服务关闭
c := make(chan os.Signal, 1)
signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
errChan <- fmt.Errorf("%s", <-c)
}()
err = <-errChan
// 服务退出取消注册
discovery.DeRegisterDiscoveryClient()
log.Println(err)
}
Directories
¶
Click to show internal directories.
Click to hide internal directories.