Microservices in Go

Anton Klimenko
Jun 3, 2018 · 8 min read
Photo by Simon Abrams on Unsplash

Introduction to the frameworks

Go Micro

Figure 1. Go Micro architecture

Go Kit

Figure 2. Example of the service architecture built with Go Kit (original image is in “Go + microservices” slides)

Gizmo

Kite

Comparing the frameworks

GitHub statistics

Table 1. Go microservices frameworks statistics (collected in April 2018)

Documentation and examples

Users and community

Code quality

Coding microservices

Figure 3. Practical example architecture

Go Micro greeter

Greeter service protobuf definition
gRPC service implementation in Go Micro
Web service implementation in Go Micro

Go Kit greeter

Service logic implementation in Go Kit
Go Kit service endpoints definition (transport agnostic)
Go Kit service HTTP endpoints
Service interface generator from protobuf definition
Go Kit service gRPC endpoints
Go Kit service discovery registrar
Go Kit service starter
Service level logging middleware
Endpoints level logging middleware

Gizmo greeter

Gizmo greeter endpoints
Gizmo greeter HTTP endpoints
GIzmo greeter gRPC

Conclusion


SEEK blog

At SEEK we’ve created a community of valued, talented, diverse individuals that really know their stuff. Enjoy our Product & Technical insights…

Anton Klimenko

Written by

Software Engineer @seekjobs and chef @CloudRecipesIO

SEEK blog

SEEK blog

At SEEK we’ve created a community of valued, talented, diverse individuals that really know their stuff. Enjoy our Product & Technical insights…