Representational State Transfer (REST) is an architectural style for building scalable web services. RESTful
systems typically communicate over the Hypertext Transfer Protocol (HTTP) by using HTTP verbs. The REST
architectural style was first described by Roy Fielding in his doctoral dissertation, in which he described six
constraints applied to the REST architecture.
Here are the six constraints described by Roy Fielding:
• Uniform interface
• Stateless
• Cacheable
• Client-server
• Layered system
• Code on demand (optional)
Go is a great technology stack for building applications with the Microservice pattern and its
design philosophy intersects with the Microservice architecture pattern. The idiomatic approach of Go
programming is to develop small pieces of software components as packages and then build applications by
composing these packages.