Chapter 1. Microservice Architecture
The term “microservices” gained popularity following a blog post from James Lewis and Martin Fowler published in early 2014 in which they described a new style of software architecture consisting of small, interconnected components assembled to form distributed applications. Individual microservices within a microservice architecture generally display the following characteristics:
- Service orientation
-
An individual microservice typically implements a single functional responsibility and may be consumed by other software components at any “layer” or “tier” of the system.
- Independent deployability and manageability
-
An individual microservice should be able to be deployed, managed, and scaled on its own without the need to coordinate with other components in the system.
- Ephemerality and elasticity
-
Individual microservice instances are frequently short-lived, and multiple instances of a microservice are often run and then shut down in order to meet the dynamic performance needs of the system.
In addition to these characteristics, microservices often use the following standard technologies:
- Web API communication
-
Microservices often publish their business functions through HTTP-based web APIs encoded using JSON or other related media types.
- Container-based deployments
-
Microservices often use Linux containers—frequently Docker containers—as their unit of deployment, allowing for a smooth transition from development to operations in a range ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access