a golang port of Crank4j's connector
go get github.com/JackKCWong/go-cranker-connector
import (
"github.com/JackKCWong/go-cranker-connector/connector"
)
...
conn := connector.Connector{
ServiceName: serviceName, // name register to cranker
ServiceURL: serviceURL, // service root URL
WSSHttpClient: &http.DefaultHttpClient, // cranker facing http client, used for websocket connection
ServiceHttpClient: &http.DefaultHttpClient, // service facing http client, used for servicing request/response
ShutdownTimeout: 5 * time.Second, // grace period for shutdown
}
// after service ready
conn.Connect(func() []string {
return []string {"wss://localhost:12345/register"}
}, 2)
See main.go
for usage as a standalone / embedded connector
See go-cranker-app embedded usage with unixsocket.
For logging config, see zerolog
- retry connection with exp backoff.
- streaming body
- graceful shutdown
- enable discovery
- health monitoring
- ping pong
- documentation