Here you find links to several examples of the microservice architectural style.
A (quite full-fledged) demo application, including nice UI plus monitoring. Implemented and maintained by Weaveworks.
Their application is online and they have extensively documented their architecture
Eberhard has implemented several examples. Designed around a fictional eCommerce enterprise, they consist of three microservices: One to process orders, another to handle customer data and a third to handle items in a catalogue.
You find versions for different technologies:
Richard, author of The Tao of Microservices has implemented a search engine for Node.js modules with a microservice architecture. He describes this example in his book, but a basic documentation is provided with the (open source) implementation. Btw: The system is available online at nodezoo.com.
From his documentation:
Nodezoo is a search engine for Node.js modules. The nodezoo search engine is an example of a real-world service built using Node.js microservices. Each microservice is published in its own github repository along with all of the necessary config to run the system locally or live . The codebase is intended to be used as an example, and as a starting point for your own projects.
-
Nodezoo at Github, contains all the examples.
-
Nodezoo Workshop, the entry-point into the actual code.
The last commits in these repositories are somewhat dated - I’m not sure if they are actively maintained.
-
curated reading list (by Mammatus Inc).
-
Microservice Resource Guide, by Martin Fowler and Thoughtworks.
-
List of related principles and technologies by Marc Fornos.
-
Eberhard Wolff: Microservices: Flexible Software Architectures / DE
-
Eberhard Wolff: Free Microservices Primer / DE
-
Chris Richardson: Microservice Patterns
-
Sam Newmann: Microservices
-
Richard Rodger: The Tao of Microservices, Manning. Centered around the concept of messages that are transmitted between services.
In case you find additional examples, or like to add comments to the existing ones, please open an issue issue or create a pull-request.