Microservices
Contents
Platforms
Frameworks / Runtimes
Programming language used to build massively scalable soft real-time systems with requirements on high availability.
Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python, and more.
A high throughput, low latency, small memory footprint and more productive microservices platform.
An open source framework for building and running fast, secure, and composable cloud microservices with WebAssembly.
Toolkit for building reactive microservices for the JVM: low-latency, high-throughput, scalable and resilient.
Service Toolkits
C++
CSharp
Elixir
Erlang
Go
Lightweight, idiomatic and composable router for building Go HTTP services.
Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind.
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance, up to 40 times faster.
An opinionated microservice development framework emphasizing scalability and robustness. Designed to simplify the development of microservices.
Haskell
Clojure
Java
Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.
Java framework for developing ops-friendly, high-performance, RESTful web services.
Node.js
PHP
Python
Ruby
Frontend / UI
Capabilities
API Gateways / Edge Services
Configuration & Discovery
Highly-available key-value store for shared configuration and service discovery.
REST based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.
Workflow Orchestration
Elasticity
Job Schedulers / Workload Automation
Messaging
Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
Open source networking platform for distributed and microservice applications. It implements the open Web Application Messaging Protocol (WAMP).
Monitoring & Debugging
Resilience
Security
Serialization
Cross-platform framework for working with schematized data, broadly used at Microsoft in high scale services.
Binary serialization library for efficient network communication. For Scala and Scala.js
Jackson module that uses bytecode generation to further speed up data binding (+30-40% throughput for serialization, deserialization).
Storage
Testing
A tool for capturing and replaying live HTTP traffic into a test environment.
A tool to manage microservices mocking, unit and performance testing locally with best in class developer experience.
Continuous Integration & Delivery
Web API Modeling & Documentation
Async
Standards / Recommendations
Self-sovereignty & Decentralisation
Data Formats
Theory
Articles & Papers
An updated and organized reading list for illustrating the patterns of scalable, reliable, and performant large-scale systems. Concepts are explained in the articles of prominent engineers and credible references. Case studies are taken from battle-tested systems that serve millions to billions of users.