microservice-examples icon indicating copy to clipboard operation
microservice-examples copied to clipboard

a (somewhat curated) collection of microservice examples.

= image:./small-arc42-logo.png[arc42] Microservice Examples :toc: macro

Here you find links to several examples of the https://martinfowler.com/articles/microservices.html[microservice architectural style].

toc::[right, preamble]

== Examples

==== Sock Shop A (quite full-fledged) demo application, including nice UI plus monitoring. Implemented and maintained by Weaveworks.

Their application is https://microservices-demo.github.io/[online] and they have extensively documented their https://github.com/microservices-demo/microservices-demo/blob/master/internal-docs/design.md[architecture]

  • https://github.com/microservices-demo/microservices-demo[Sock Shop]

==== http://microservices-book.com/[Eberhard Wolff] 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:

  • https://github.com/ewolff/microservice[Netflix Stack]
  • https://github.com/ewolff/microservice-kafka[Kafka]
  • https://github.com/ewolff/microservice-atom[Atom]
  • https://github.com/ewolff/microservice-consul[Consul]
  • https://github.com/ewolff/microservice-consul-dns[Consul as DNS server]
  • https://github.com/ewolff/microservice-kubernetes[Kubernetes]
  • https://github.com/ewolff/microservice-cloudfoundry[Cloudfoundry]
  • https://github.com/ewolff/SCS-jQuery[SCS-jQuery]
  • https://github.com/ewolff/SCS-ESI[SCS-ESI]

==== [Chris Richardson] Chris is the author of https://microservices.io[].

  • https://github.com/cer/event-sourcing-examples[Event Sourcing Example]

==== https://www.manning.com/books/the-tao-of-microservices[Richard Rodger] Richard, author of https://www.manning.com/books/the-tao-of-microservices[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 http://nodezoo.com/[nodezoo.com].

From his documentation: [quote, Richard Rodger (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.

  • https://github.com/nodezoo[Nodezoo at Github], contains all the examples.
  • https://github.com/nodezoo/nodezoo-workshop[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.

== Additional resources

==== Article Collections ("reading lists")

  • http://www.mammatustech.com/java-microservices-architecture/microservices-architecture-reading-list[curated reading list] (by Mammatus Inc).

  • https://martinfowler.com/microservices/[Microservice Resource Guide], by Martin Fowler and Thoughtworks.

  • https://github.com/mfornos/awesome-microservices[List of related principles and technologies] by Marc Fornos.

==== Books

  • Eberhard Wolff: http://microservices-book.com/[Microservices: Flexible Software Architectures] / http://microservices-buch.de/[DE]

  • Eberhard Wolff: http://microservices-book.com/primer.html[Free Microservices Primer] / http://microservices-buch.de/ueberblick.html[DE]

  • Chris Richardson: https://www.manning.com/books/microservice-patterns[Microservice Patterns]

  • Sam Newmann: http://samnewman.io/books/building_microservices/[Microservices]

  • Richard Rodger: https://www.manning.com/books/the-tao-of-microservices[The Tao of Microservices], Manning. Centered around the concept of messages that are transmitted between services.

== Contribute

In case you find additional examples, or like to add comments to the existing ones, please open an issue https://github.com/arc42/microservice-examples/issues[issue] or create a https://github.com/arc42/microservice-examples/issues[pull-request].

== License

You're completely free to use these links - but as-is, there's no (as in zero) guarantee that the examples will be working or any linked information is correct. I did my best to check and verify... but that might not be good enough for you...

So - you're left on your own.