We just open-sourced kitty, a microservice framework extending go-kit - 
https://github.com/objenious/kitty

Kitty's goal is to ease development of microservices deployed on Kubernetes 
(or any similar orchestration platform).

Kitty has an opinion on:

- transports: only HTTP is supported (additional transports might be added),
- errors: an error may be Retryable (e.g. 5XX status codes) or not (e.g. 
4XX status codes),
- status codes: unless specified, request decoding errors will generate 400 
HTTP status codes.

Kitty has no opinion on:

- logging: no logs are generated by default, you can plug your logger and 
it will get additional context,
- packages: kitty only imports go-kit and the standard library,
- routers: you can use any router (a Gorilla Mux implementation is 
available in a sub-package, other routers can easily be plugged),
- encoding: use whatever encoding you want (JSON, messagepack, protobuf, 
...),
- monitoring, metrics and tracing: use Istio, a sidecar process or a 
middleware.

Kitty includes 2 sub-packages:

- backoff: Retryable-aware exponential backoff (only Retryable errors 
trigger retries),
- circuitbreaker: Retryable-aware circuit breaker (only Retryable errors 
trigger the circuit breaker).

This is an alpha release - the package should be fairly stable, but non 
backwards-compatible changes might happen.

License: MIT

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to