eureka client by golang
- Heartbeat
- Refresh(Only all applications)
-
Re-Register
-
Refresh by delta
If the delta is disabled or if it is the first time, get all applications
go get https://github.com/fl183/eureka-client
package main import ( "encoding/json" "fmt" "net/http" eureka "github.com/fl183/eureka-client" ) func main() { // create eureka client client := eureka.NewClient(&eureka.Config{ DefaultZone: "http://127.0.0.1:8080/eureka/", App: "go-example", Port: 10000, RenewalIntervalInSecs: 10, DurationInSecs: 30, Metadata: map[string]interface{}{ "VERSION": "0.1.0", "NODE_GROUP_ID": 0, "PRODUCT_CODE": "DEFAULT", "PRODUCT_VERSION_CODE": "DEFAULT", "PRODUCT_ENV_CODE": "DEFAULT", "SERVICE_VERSION_CODE": "DEFAULT", }, }) // start client, register、heartbeat、refresh client.Start() // http server http.HandleFunc("/services", func(writer http.ResponseWriter, request *http.Request) { // full applications from eureka server apps := client.Applications b, _ := json.Marshal(apps) _, _ = writer.Write(b) }) // start http server if err := http.ListenAndServe(":10000", nil); err != nil { fmt.Println(err) } }
I use spring-cloud-starter-netflix-eureka-server in Java.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> <version>2.1.0.RELEASE</version> </dependency>
The code is as follows: