Golang注册Eureka的工具包goeureka发布

1.简介

提供Go微服务客户端注册到Eureka中心。点击:github地址,欢迎各位多多star!

(已通过测试验证,用于正式生产部署)

2.原理

goeureka主要是通过REST请求来与server进行通信。

其中Java版本的核心实现请参看:com.netflix.discovery.DiscoveryClient

实现过程
Golang注册Eureka的工具包goeureka发布

3.注册信息

注册eureka服务端的配置信息如下:

1{ 2 "instance": { 3 "instanceId" : "${ipAddress}:${appName}:${port}", 4 "hostName":"${ipAddress}", 5 "app":"${appName}", 6 "ipAddr":"${ipAddress}", 7 "vipAddress":"${appName}", 8 "overriddenstatus": "UNKNOWN", 9 "status":"UP", 10 "port": { 11 "$":${port}, 12 "@enabled": true 13 }, 14 "securePort": { 15 "$":${securePort}, 16 "@enabled": false 17 }, 18 "homePageUrl" : "http://${ipAddress}:${port}/", 19 "statusPageUrl": "http://${ipAddress}:${port}/info", 20 "healthCheckUrl": "http://${ipAddress}:${port}/health", 21 "dataCenterInfo" : { 22 "@class":"com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo", 23 "name": "MyOwn" 24 }, 25 "metadata": { 26 "management.port" : "${port}" 27 } 28 } 29}

4.功能特性

本项目封装了Eureka rest操作,实现了以下功能:

  1. register
  2. sendheartbeat
  3. deregister
  4. instances

调用前三个特性register 、heartbeat 和deregister基本上可以实现微服务注册到Eureka中心,其中appid实例是客户端的名称。

5.使用方法

工具包的导入方法:

import "github.com/SimonWang00/goeureka"
如果您默认使用本地启动的Eureka Server,注册代码如下:

1goeureka.RegisterClient("http://127.0.0.1:8761","my-goserver", "8000", "43") 2Notes: RegisterClient 为web server对应的端口

6.接入示例

在http中使用:

1import ( 2 "fmt" 3 "github.com/SimonWang00/goeureka" 4 "net/http" 5 ) 67 func main() { 8 goeureka.RegisterClient("http://127.0.0.1:8761","myapp", "8000", "43") 9 http.HandleFunc("/hello", func(responseWriter http.ResponseWriter, request *http.Request) { 10 resp := "hello goeureka!" 11 _, _ = responseWriter.Write([]byte(resp)) 12 }) 13 // start server 14 if err := http.ListenAndServe("127.0.0.1:8000", nil); err != nil { 15 fmt.Println(err) 16 } 17 }

在gin框架中使用:

1 import ( 2 "github.com/SimonWang00/goeureka" 3 "github.com/gin-gonic/gin" 4 ) 56 func main() { 7 r := gin.Default() 8 r.GET("hello", func(c *gin.Context) { 9 c.String(200, "hello goeureka") 10 }) 11 goeureka.RegisterClient("http://127.0.0.1:8761","myapp", "8000", "43") 12 r.Run("127.0.0.1:8000") 13 }

7.测试

java端测试代码,内含有gateway-eureka.jar

eurekaconsumer

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

Opencv中Mat矩阵相乘——点乘、dot、mul运算详解

Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593

Golang注册Eureka的工具包goeureka发布 - HelloWorld