go-service-discover

module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2021 License: GPL-3.0

README

用法

//gin调用方式
discovery.EnableDiscoverGinClient(ginEngine)
//fiber调用方式
discovery.EnableDiscoverFiberClient(fiberApp)

示例

  • 以fiber为例,gin类似
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

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL