Golang注册Eureka的工具包goeureka发布
2020-12-16 14:56
1746 查看
1.简介
提供Go微服务客户端注册到Eureka中心。点击:github地址,欢迎各位多多star!
(已通过测试验证,用于正式生产部署)
2.原理
goeureka主要是通过REST请求来与server进行通信。
其中Java版本的核心实现请参看:
com.netflix.discovery.DiscoveryClient
实现过程
3.注册信息
注册eureka服务端的配置信息如下:
{ "instance": { "instanceId" : "${ipAddress}:${appName}:${port}", "hostName":"${ipAddress}", "app":"${appName}", "ipAddr":"${ipAddress}", "vipAddress":"${appName}", "overriddenstatus": "UNKNOWN", "status":"UP", "port": { "$":${port}, "@enabled": true }, "securePort": { "$":${securePort}, "@enabled": false }, "homePageUrl" : "http://${ipAddress}:${port}/", "statusPageUrl": "http://${ipAddress}:${port}/info", "healthCheckUrl": "http://${ipAddress}:${port}/health", "dataCenterInfo" : { "@class":"com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo", "name": "MyOwn" }, "metadata": { "management.port" : "${port}" } } }
4.功能特性
本项目封装了Eureka rest操作,实现了以下功能:
- register
- sendheartbeat
- deregister
- instances
调用前三个特性register 、heartbeat 和deregister基本上可以实现微服务注册到Eureka中心,其中appid实例是客户端的名称。
5.使用方法
工具包的导入方法:
import "github.com/SimonWang00/goeureka"
如果您默认使用本地启动的Eureka Server,注册代码如下:
goeureka.RegisterClient("http://127.0.0.1:8761","my-goserver", "8000", "43") Notes: RegisterClient 为web server对应的端口
6.接入示例
在http中使用:
import ( "fmt" "github.com/SimonWang00/goeureka" "net/http" ) func main() { goeureka.RegisterClient("http://127.0.0.1:8761","myapp", "8000", "43") http.HandleFunc("/hello", func(responseWriter http.ResponseWriter, request *http.Request) { resp := "hello goeureka!" _, _ = responseWriter.Write([]byte(resp)) }) // start server if err := http.ListenAndServe("127.0.0.1:8000", nil); err != nil { fmt.Println(err) } }
在gin框架中使用:
import ( "github.com/SimonWang00/goeureka" "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("hello", func(c *gin.Context) { c.String(200, "hello goeureka") }) goeureka.RegisterClient("http://127.0.0.1:8761","myapp", "8000", "43") r.Run("127.0.0.1:8000") }
7.测试
java端测试代码,内含有gateway-eureka.jar
相关文章推荐
- spring-cloud之eureka注册中心及服务发布
- (转)SharePoint社区工具包中文版发布!!
- P2 spring-cloud+layui搭建后台管理系统-eureka注册中心
- 嗡汤圆的Spring Cloud自学(PART.2):eureka服务注册与代理端使用
- ArcGIS Server 10.1发布要素服务时遇到的数据库注册问题总结 (二)
- Spring Cloud 服务注册与发现 [ eureka ]
- 注册并发布一个xmlrpc远程对象(函数、类对象、客户端使用调用(对象.方法)格式)
- 2、SpringCloud 第一课 Eureka 注册中心
- Eureka之服务注册与发现
- Element 2.5.1 发布,适用于Web的Vue.js 2.0 UI工具包
- centos7环境搭建Eureka-Server注册中心集群
- eureka踩过的坑之注册服务相互之间调用
- springcloud(第三篇)springcloud eureka 服务注册与发现
- 改变eureka server中注册的服务的健康检测方式
- 网页发布和域名注册
- 如何使用Eureka实现微服务的注册与发现(总结了梦雪谷老师的资料,找不到链接粘出来,见谅啦~~~)
- Identity 培训工具包 & MSDN 在线 Identity 培训教程 2011 2月版发布啦!
- Spring Cloud开发教程-微服务的注册与发现Eureka(1)
- grpc(4):使用 golang 调用consul api 接口,注册user-tomcat服务
- 微服务注册和发现组件Eureka