Consul Connect-Native Go Micro Services


Today we’re announcing support for Connect-Native Go Micro services via a slim initialisation library called Go Proxy. This will provide Go Micro with the ability to do authorized and secure service-to-service communication.

What is Consul Connect?

Consul Connect is a feature of Consul which provides service-to-service authorization and encryption via mutual TLS. Consul Connect uses SPIFEE compliant certificates for identity.

We believe Consul Connect is a powerful mechanism for securing micro services. So how do we integrate?

Connect-Native

Consul Connect-Native is native integration with the Connect API. This allows Go Micro services to become secure by default.

Consul Connect provides the ability to use proxies for communication but this can add overhead, Go Micro handles distributed systems concerns as a client library, which eliminates this overhead. Native integration with Connect gives us all its benefits while maintaining direct point to point connections for performance.

The consul documentation provides an overview of how this works. In Go Micro’s case we initialise a consul registry with the connect option enabled and setup the broker and transport tls config.

Using Connect-Native

We’ve provided a complete example of how to get started in the Go Proxy repository.

But essentially it’s a two line change. Import the connect package and create a new service with it. That’s it!

Summary

Connect-Native gives us support for authorization and secure end to end communication for Go Micro apps without the overhead of proxies. It’s a great addition for micro users and we highly recommend using it.

...

To learn more about micro check out the website, follow us on twitter or join the slack community.

Go Proxy