connect
It is now more common to see application distributed across multiple services,
each representing a smaller subset of the wider functionality. Each service
then manages non-functional requirements such as logging, retry-logic,
distributed tracing, request limiting, authentication, etc... In the advent of
the service mesh, and namely
istio, many of these
requirements may be handed off to the infrastructure, reducing the boilerplate
required to implement new services. However there are still some application
specific functions that cannot be extracted outside of the service. Therefore
developers remain responsible for delivering these function across,
potentially, many codebases.
This module attempts to alleviate this problem by generalising some of the
remaining non-functional requirements often present in modern services, and
integrating them into the Go standard library http
package and the Google
grpc
package.
Prerequisites
You will need the following things properly installed on your computer.
Installation
With Go module support (Go 1.11+),
simply add the following import
import "github.com/kapetndev/connect"
to your code, and then go [build|run|test]
will automatically fetch the
necessary dependencies.
Otherwise, to install the connect
module, run the following command:
$ go get -u github.com/kapetndev/connect
License
This project is licensed under the MIT License.