User Experience on mobile might not be great yet, but I'm working on it.

Your first time on this page? Allow me to give some explanations.

Awesome Microservices

A curated list of Microservice Architecture related principles and technologies.

Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.

Last Update: None

Thank you mfornos & contributors
View Topic on GitHub:
mfornos/awesome-microservices

Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.

Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.

Platforms

Joyent Triton DataCenter: a cloud management platform with first class support for containers.

1.16K
174
8m
MPL-2.0

An open source, Kubernetes-native, microservices and serverless platform.

Open source provider of microservice and webhook hosting.

Open source microservice-oriented programming language.

M3O

A serverless platform for microservices development.

Netflix open source software ecosystem.

Serverless, open source cloud platform that executes functions in response to events at any scale.

SDK for cloud native infrastructure as code. Use your favorite language to preview and manage updates to your apps and infrastructure, and continuously deploy to any cloud (no YAML required).

A set of tools and components by Zalando to provide a convenient and audit-compliant PaaS for multiple autonomous teams on top of AWS.

Frameworks / Runtimes

Erlang/OTP

8.9K
2.44K
32d
Apache-2.0

Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps.

1.67K
234
98d
BSD-3-Clause

The GPars concurrency and parallelism framework for the JVM

220
49
2y 6m
n/a

DHT based high-performance microservices framework, by Bitfinex

191
17
2y 9m
MIT

Reactive Microservices for the JVM

2.51K
601
34d
Apache-2.0

A fast, lightweight and more productive microservices framework

2.97K
499
32d
Apache-2.0

Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles.

929
219
5m
Apache-2.0

Orbit - Virtual actor framework for building distributed systems

1.53K
157
5m
BSD-3-Clause

ScaleCube Services is a high throughput, low latency reactive microservices library built to scale. it features: API-Gateways, service-discovery, service-load-balancing, the architecture supports plug-and-play service communication modules and features. built to provide performance and low-latency real-time stream-processing. its open and designed to accommodate changes. (no sidecar in a form of broker or any kind)

479
72
55d
Apache-2.0

Some tools one can use for doing microservices with Vert.x

96
56
32d
Apache-2.0

Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.

2.64K
474
12d
Apache-2.0

runtime for distributed, and fault tolerant event-driven applications on the JVM.

Cloud native programming language.

Open source runtime for writing highly performant microservices using any programming language.

An open forum to optimize Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with a goal of standardization.

Extensible RPC system for the JVM, used to construct high-concurrency servers.

High-performance runtime that provides significant improvements in application performance and efficiency which is ideal for microservices.

Collection of Java libraries for writing microservices that run on a fast web core powered by Netty.

Ice

Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python, and more.

A brand new microservices framework created by the Grails team

Fast & powerful microservices framework for Node.js, Java, Go and Ruby.

A lightweight open framework for building fast and efficient cloud-native Java microservices.

APIs and implementations tailored for cloud development, including Eclipse MicroProfile.

An innovative approach to packaging and running Java EE applications by packaging them with just enough of the server runtime to "java -jar" your application.

Toolkit for building reactive applications on the JVM.

Polyglot

Constrained application protocol implementations.

A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

C

Embeddable Event-based Asynchronous Message/HTTP Server library for C/C++

153
34
1y 8m
n/a

C library to create simple HTTP servers and Web Applications.

1.73K
228
21d
n/a

Easy to use, scalable and secure web application framework for writing web APIs in C.

Provides a generic agent oriented programming model, run time selection of locking strategies, functions that make writing daemons trivial and simplify the implementation of network servers and clients, &c.

High-performance and scalable web server.

C++

Support for multiple RPC protocols in a single library

45
21
1y 55d
MIT

Enduro/X Middleware Platform for Distributed Transaction Processing

83
26
6m
AGPL-3.0

Pion Network Library (Boost licensed open source)

283
90
1y 37d
BSL-1.0

A high-performance REST Toolkit written in C++

2.29K
553
47d
Apache-2.0

Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.

1.39K
330
55d
n/a

A C++11 RESTful web server library

631
142
1y 6m
MIT

C++ Programming Paradigm with Asynchronous Networking

2.74K
556
4m
Apache-2.0

C++ application development framework, to help developers create and deploy applications quickly and simply

910
107
6m
n/a

The Cap’n Proto C++ RPC implementation.

An OSGi-like C++ dynamic module system and service registry.

C++ class libraries for building network-based applications and servers.

CSharp

💎 A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core

736
88
29d
CC0-1.0

Microdot: An open source .NET microservices framework

1.22K
198
26d
Apache-2.0

Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.

3.05K
307
33d
MIT

Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.

Lightweight web framework.

Provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.

D

Asynchronous I/O Web Framework that doesn’t get in your way, written in D.

Elixir

A specification and conveniences for composable modules between web applications

2.31K
497
20d
n/a

Framework for building HTML5 apps, API backends and distributed systems.

Erlang

Small, fast, modern HTTP server for Erlang/OTP.

6.22K
1.08K
5m
ISC

MochiWeb is an Erlang library for building lightweight HTTP servers.

1.77K
474
1y 23d
n/a

Go

Application Server for Go (ASG)

28
7
101d
n/a

⚡️ Express inspired web framework written in Go

11.82K
526
13d
MIT

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. If you need smashing performance, get yourself some Gin.

45.9K
5.22K
28d
MIT

A Microservice Toolkit from The New York Times

3.34K
216
6m
Apache-2.0

Design-based APIs and microservices in Go

4.14K
452
28d
MIT

Go Router + Middleware. Your Contexts.

1.44K
117
2y 30d
MIT

a microservice framework for rapid development of micro services in Go with rich eco-system

1.72K
326
4m
Apache-2.0

A standard library for microservices.

19.46K
2.01K
27d
MIT

Go Server/API boilerplate using best practices DDD CQRS ES gRPC

350
58
39d
MIT

Go Micro is a framework for distributed systems development

15.43K
1.65K
19d
Apache-2.0

Easily consume REST APIs with Go (golang)

436
39
4y 116d
Apache-2.0

The fastest HTTP/2 Go Web Framework. AWS Lambda, gRPC, MVC, Unique Router, Websockets, Sessions, Test suite, Dependency Injection and more. A true successor of expressjs and laravel | 谢谢 https://github.com/kataras/iris/issues/1329 |

20.02K
2.19K
36d
BSD-3-Clause

Micro-service framework in Go

2.96K
294
2y 8m
MIT

Ultra performant API Gateway with middlewares

3.59K
347
24d
n/a

Like Go channels over the network

2.43K
149
4y 10m
Apache-2.0

Micro is a platform for cloud native development

9.74K
833
24d
n/a

Transport-agnostic testing-friendly nano-framework for go micro-services

42
14
4y 61d
MIT

Idiomatic HTTP Middleware for Golang

6.89K
554
114d
MIT

Realtime/REST backend service

134
7
4y 10m
AGPL-3.0

A zero cost, faster multi-language bidirectional microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱!

5.45K
863
13d
n/a

rest for go

679
57
3y 5m
n/a

Fast and unfancy HTTP server framework for Go. Up to 10x faster than the rest.

Minimalistic and flexible request multiplexer for Go.

Web toolkit for the Go programming language.

Haskell

Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp (Official Repository)

1.48K
123
5m
n/a

Main repository for the servant libraries -- DSL for describing, serving, querying, mocking, documenting web applications and more!

1.45K
325
82d
n/a

A RESTful Haskell web framework built on WAI.

2.32K
357
59d
MIT

Clojure

A concise routing library for Ring/Clojure

3.86K
255
7m
EPL-1.0

Server-side application framework for Clojure

993
47
10m
MIT

Utility library for writing microservices in Clojure, with support for Swagger and OAuth

116
14
3y 9m
Apache-2.0

Reloaded components à la carte

583
72
19d
n/a

Common basis for some of otto.de's clojure microservices

189
30
43d
Apache-2.0

JUXT's Clojure-based modular system.

Java

Airlift framework for building REST services

407
227
69d
Apache-2.0

High Performance Inter-Thread Messaging Library

13.42K
3.31K
43d
Apache-2.0

Apache Dubbo is a high-performance, java based, open source RPC framework.

34.72K
23.12K
12d
Apache-2.0

Opinionated libraries for HTTP&JSON-based RPC using Retrofit, Feign, OkHttp as clients and Jetty/Jersey as servers

61
98
32d
Apache-2.0

Lightweight framework for building java microservices

629
67
2y 5d
Apache-2.0

WSO2 Microservices Framework for Java (MSF4J)

348
341
1y 5m
Apache-2.0

The Java microservice lib. QBit is a reactive programming lib for building microservices - JSON, HTTP, WebSocket, and REST. QBit uses reactive programming to build elastic REST, and WebSockets based cloud friendly, web services. SOA evolved for mobile and cloud. ServiceDiscovery, Health, reactive StatService, events, Java idiomatic reactive programming for Microservices.

700
141
3y 50d
Apache-2.0

Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.

Open-source asynchronous HTTP/2 RPC/REST client/server library built on top of Java 8, Netty, Thrift and gRPC.

Java framework for developing ops-friendly, high-performance, RESTful web services.

RESTful services in Java. JAX-RS reference implementation.

A Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards.

Set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. specific support for the Groovy language is provided.

Helps Java developers build web APIs that follow the REST architecture style.

A micro-framework for creating web applications in Java 8 with minimal effort.

Makes it easy to create stand-alone, production-grade Spring based applications.

Kotlin

Lightweight but fully-featured HTTP toolkit written in pure Kotlin that enables the serving and consuming of HTTP services in a functional and consistent way.

Framework for building asynchronous servers and clients in connected systems using the Kotlin programming language.

Scala

I/O and Microservice library for Scala

1.15K
104
2y 4m
Apache-2.0

Micro Web framework to build Servlet applications in Scala, the core part of Skinny Framework 2

56
7
1y 28d
n/a

Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.

Fast, testable, Scala HTTP services built on Twitter-Server and Finagle.

A minimal, idiomatic Scala interface for HTTP

The high velocity web framework for Java and Scala.

Simple, accessible and free web micro-framework.

A suite of components enabling standardization and operationalization of Akka and Akka HTTP applications/services in a large scale, managed, cloud environment.

Node.js

Baucis enables you to build scalable REST APIs using the open source tools and standards you and your team already know.

649
93
7m
n/a

a bee-queue based minimalist toolkit for building fast, decentralized, scalable and fault tolerant microservices

25
0
5m
MIT

A Node.js library for building zero-configuration microservices.

1.86K
166
112d
MIT

full-stack javascript through microservices

224
14
3y 8m
MIT

HT is a library for making awesome microservices.

30
4
2y 92d
MIT

Micro services made easy!

8
3
3y 7m
n/a

A simple, fast framework for writing microservices in Node.js communicate using RPC / IPC

43
6
1y 6m
MIT

⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! –

38.93K
4.6K
11d
MIT

Framework for simplifying microservices in TypeScript focusing on business logic

25
6
1y 8m
MIT

Multi-transport Node.js API server with integrated cluster capabilities and delayed tasks.

Easy to deploy Node.js projects to AWS Lambda and API Gateway.

Fast, unopinionated, minimalist web framework for Node.js

Fastify, Fast and low overhead web framework, for Node.js.

is a real-time, micro-service web framework that gives you control over your data via RESTful resources, sockets and flexible plug-ins.

A rich framework for building applications and services.

Koa

Next generation web framework for Node.js

Powerful Node.js framework for creating APIs and easily connecting to backend data sources.

Node.js module built specifically to enable you to build correct REST web services.

A microservices toolkit for Node.js

Perl

Cro

Libraries for creating reactive distributed systems using Perl 6.

PHP

An extensible micro-framework for PHP

2.31K
370
1y 45d
MIT

🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.

3.23K
599
4m
MIT

🚀 PHP Microservice Full Coroutine Framework

5.05K
769
6m
Apache-2.0

Multi-processed, async, fault-tolerant micro-framework for writing service-oriented applications

76
8
3y 11m
n/a

API-first web framework on top of Symfony with JSON-LD, Schema.org and Hydra support.

A powerful yet easy-to-use PHP micro-framework.

Full-stack PHP framework delivered as a C-extension.

Micro-framework that helps you quickly write simple yet powerful web applications and APIs.

A set of reuseable components and a web framework.

Python

Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation & OAuth2 support

3.55K
607
7m
n/a

Python framework for building microservices

3.84K
383
5m
Apache-2.0

Async Python 3.6+ web server/framework | Build fast. Run fast.

14.6K
1.31K
13d
MIT

web.py is a web framework for python that is as simple as it is powerful.

5.44K
1.31K
6m
n/a

Serverless Python

11.69K
1.24K
16d
MIT

HTTP client/server for asyncio.

Fast, simple and lightweight WSGI micro web-framework for Python.

Bare-metal Python web API framework for building very fast app backends and microservices.

Modern, fast (high-performance), web framework for building APIs with Python

A microframework for Python.

Web framework and asynchronous networking library.

An event-driven networking engine.

Ruby

An opinionated framework for creating REST-like APIs in Ruby.

9.26K
1.18K
26d
MIT

Praxis is a framework that focuses on both the design and implementation aspects of creating APIs.

297
41
3y 58d
MIT

Light-weight, DRY as a desert, web framework for Ruby.

274
14
40d
MIT

Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.

Rust

An RPC framework for Rust with a focus on ease of use.

1.64K
115
42d
MIT

Frontend / UI

A curated list of resources about everything Micro Frontends

346
32
1y 7m
n/a

Extending the microservice idea to frontend development.

API Gateways / Edge Services

Configurable API gateway that acts as a reverse proxy with a plugin system.

307
23
1y 4m
MIT

3scale API Gateway

221
125
33d
Apache-2.0

nginx Docker image secure by default.

1.78K
70
110d
n/a

Cloud-native high-performance edge/middle/service proxy

15.87K
2.85K
32d
Apache-2.0

Consul Load-Balancing made simple

6.57K
580
33d
MIT

Gravitee.io - API Management - OpenSource API Gateway

1.08K
255
41d
Apache-2.0

HAProxy Load Balancer's development branch (mirror of git.haproxy.org)

1.83K
404
32d
n/a

An API Gateway written in Go

2.14K
272
6m
MIT

Neutrino is a software load balancer(SLB)

287
41
3y 28d
Apache-2.0

An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress

2.36K
245
41d
n/a

Apache Traffic Server™ is a fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server.

1.24K
667
32d
Apache-2.0

Programmatic load balancer backed by Etcd

2.93K
231
6m
Apache-2.0

Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.

10.53K
2K
13d
Apache-2.0

Kubernetes-native API gateway for microservices built on Envoy.

Lightweight, general-purpose web server supporting HTTP/2, automatic TLS and easy configuration. Written in Go.

Empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based fluent API, Spring or Blueprint XML configuration files, and a Scala DSL.

A microservices API gateway built on Express.js.

Open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data.

Simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures.

Open source management layer for APIs.

Open source ultra performance API Gateway.

Platform agnostic open source control plane for service mesh and microservices.

Resilient service mesh for cloud native apps.

Fast web application server built on top of Nginx.

Lightweight and extensible cloud native service mesh.

Modern HTTP reverse proxy with lightweight API management.

API Gateway on top of Spring MVC. Aims to provide a simple, yet effective way to route to APIs.

A distribution of Nginx with some advanced features.

A modern HTTP reverse proxy and load balancer made to deploy microservices with ease.

API management with authentication, quotas, monitoring and analytics. Free cloud offering

Configuration & Discovery

A service for autodiscovery and configuration of applications running in containers

1.07K
136
1y 10m
MPL-2.0

Portably control DNS clouds using java or bash

550
103
4y 9m
Apache-2.0

A consistent distributed data store.

3.21K
265
7y 72d
MIT

Distributed reliable key-value store for the most critical data of a distributed system

34.86K
7.4K
13d
Apache-2.0

AWS Service registry for resilient mid-tier load balancing and failover.

10.22K
3.06K
47d
Apache-2.0
461
77
3y 111d
Apache-2.0

an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.

16.26K
6.16K
33d
Apache-2.0

Service registry bridge for Docker with pluggable adapters

4.46K
892
1y 61d
MIT

Small, lightweight, api-driven dns server.

423
34
1y 12m
MIT

DNS service discovery for etcd

2.07K
312
1y 4m
MIT

The chef recipes for running and testing Airbnb's SmartStack

236
44
7m
MIT

Open-source highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.

Consul is a tool for service discovery, monitoring and configuration.

Configuration system designed for microservices which helps to separate configuration from code. The configuration for different services can have common and specific parts and can be dynamically distributed.

Provides server and client-side support for externalized configuration in a distributed system.

Coordination & Governance

Conductor is a microservices orchestration engine - https://netflix.github.io/conductor/

3.21K
1K
66d
Apache-2.0

Workflows for Fission: Fast, reliable and lightweight function composition for serverless functions

303
36
8m
Apache-2.0

Fault-oblivious stateful code platform.

Define, orchestrate, and monitor business processes across microservices.

Elasticity

Distributed, masterless, high performance, fault tolerant data processing

1.99K
211
1y 6m
EPL-1.0

Ordasity is Boundary's library for building stateful clustered services on the JVM.

348
30
6y 70d
Apache-2.0

Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...

15.65K
3.81K
33d
Apache-2.0

Open source in-memory data-grid. Allows you to distribute data and computation across servers, clusters and geographies, and to manage very large data sets or high data ingest rates. Mature technology.

cluster management framework.

Distributed in-memory platform

A framework and suite of protocols for building peer-to-peer network applications.

Deploy and manage containers (including Docker) on top of Apache Mesos at scale.

Abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.

Decentralized solution for cluster membership, failure detection and orchestration.

Job Schedulers / Workload Automation

Distributed Task Queue (development branch)

16.63K
3.95K
45d
n/a

Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules

4.27K
557
2y 6m
Apache-2.0

Extensible Scheduler for Mesos Frameworks

691
109
9m
Apache-2.0

Distributed, fault tolerant job scheduling system.

Open Source solution for enterprise-level workload automation. It is used to launch executable files and shell scripts and to run database procedures automatically.

Simple orchestration tool.

Open source enterprise job scheduling system lays down ground-breaking standards for the professional automation of IT processes in advanced system environments.

Logging

a simple and fast JSON logging module for node.js services

6.54K
511
59d
n/a

Netflix's distributed Data Pipeline

752
173
5y 89d
Apache-2.0

Log Collector and Shipper.

Pluggable Log and Event Analysis Server with Alerting options.

visualize logs and time-stamped data

a tool for managing events and logs.

Messaging

Efficient reliable UDP unicast, UDP multicast, and IPC message transport

5.39K
640
11d
Apache-2.0

The pub/sub library for node backed by Redis, MongoDB, AMQP (RabbitMQ), ZeroMQ, MQTT (Mosquitto) or just plain node!

517
130
2y 7m
n/a

Premium Queue package for handling distributed jobs and messages in NodeJS.

10.15K
1.09K
30d
n/a

Crossbar.io - WAMP application router

1.8K
260
25d
AGPL-3.0

Disque is a distributed message broker

7.74K
538
4y 10m
BSD-3-Clause

The ZeroMQ Enterprise Messaging Broker

292
72
5m
MPL-2.0

A distributed, tag-based pub-sub service for modern web applications and container-driven cloud.

630
45
1y 89d
MIT

Mirror of Apache RocketMQ

13.44K
7.35K
90d
Apache-2.0

Lightweight queuing system.

Powerful open source messaging and integration patterns server.

Faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ.

Simple, fast work queue.

A platform for developing asynchronous microservices solving the distributed data management problems.

distributed publish-subscribe messaging system.

MQTT broker as a module.

Open source message broker that implements the MQTT protocol.

Socket library that provides several common communication patterns for building distributed systems.

Lightweight brokerless messaging.

Open source, high-performance, lightweight cloud messaging system.

nsq

A realtime distributed messaging platform.

Apache Pulsar is an open-source distributed pub-sub messaging system.

Cross-platform messaging components built on AMQP.

Robust messaging for applications.

Open source, scalable, Erlang-based MQTT broker.

Monitoring & Debugging

Easy & Flexible Alerting With ElasticSearch

7.26K
1.66K
119d
Apache-2.0

Navigate and explore all of the microservices in your application in real time using the real application connections.

66
15
5m
n/a

Fast Parallel Async HTTP/SSH/TCP/UDP/Ping Client Java Library. Aggregate 100,000 APIs & send anywhere in 20 lines of code. Ping/HTTP Calls 8000 servers in 12 seconds. (Akka) www.parallec.io

776
174
3y 54d
Apache-2.0

Fast Parallel Async HTTP client as a Service to monitor and manage 10,000 web servers. (Java+Akka)

900
143
3y 10m
Apache-2.0

Trace is a visualised distributed tracing platform designed for microservices.

472
60
2y 108d
n/a

Captures network traffic and displays it in a custom Kibana dashboard for easy viewing.

The system statistics collection daemon.

A scalable distributed monitoring system for high-performance computing systems such as clusters and grids.

A Graphite & InfluxDB Dashboard and Graph Editor.

Scalable realtime graphing.

An open source, end-to-end distributed tracing

Vendor-neutral APIs and instrumentation for distributed tracing.

Service monitoring system and time series database.

Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, K8s, Mesos) architectures.

Alerting for Elasticsearch.

Enterprise-class software for monitoring of networks and applications.

Distributed tracing system.

Reactivity

Alpakka Kafka connector - Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.

1.29K
370
41d
n/a

An advanced, but easy to use, platform for writing functional applications in Java 8.

1.17K
126
1y 61d
Apache-2.0

A second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification.

API for asynchronous programming with observable streams. Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others.

Resilience

A curated list of Chaos Engineering resources.

4.12K
439
77d
CC0-1.0

Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.

21.02K
4.29K
2y 110d
Apache-2.0

Resilience4j is a fault tolerance library designed for Java8 and functional programming

6.55K
877
12d
Apache-2.0

Crafted malice for tormenting HTTP clients and servers.

Consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance.

A smart HTTP client with super powers like fault tolerance, dynamic server discovery, auto balancing and reactive recovery, designed for distributed systems.

Security

OpenID Connect Identity (OIDC) and OAuth 2.0 Provider with Pluggable Connectors

5.4K
1.09K
38d
Apache-2.0

OpenID Connect and OAuth 2.0 Framework for ASP.NET Core

7.69K
2.82K
41d
Apache-2.0

Open Source Identity and Access Management For Modern Applications and Services

8.22K
3.33K
31d
Apache-2.0

A fast, light and cloud native OAuth 2.0 authorization microservices based on light-4j

246
66
37d
Apache-2.0

Personally identifiable information (PII) storage service built to comply with GDPR.

JWT

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

Provides specific authorization flows for web applications, desktop applications, mobile phones, and living room devices. Many implementations.

A Simple Identity layer on top of OAuth 2.0.

ORY

Open source identity infrastructure and services.

System for Cross-domain Identity Management.

An encrypted datastore secure enough to hold environment and application secrets.

Serialization

Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.

2.27K
300
39d
MIT

Binary serialization library for efficient network communication

348
39
4m
Apache-2.0

Clojure JSON and JSON SMILE (binary json format) encoding/decoding

1.3K
135
117d
MIT

A fast JSON parser/generator for Java.

23.06K
6.16K
36d
Apache-2.0

faster JSON serialization for Go

2.71K
228
1y 5m
Apache-2.0

FST: fast java serialization drop in-replacement

1.34K
225
9m
Apache-2.0

Main Portal page for the Jackson project

6.34K
1.04K
60d
n/a

(DEPRECATED) -- moved under jackson-modules-base

90
22
4y 8m
n/a

Java binary serialization and cloning: fast, efficient, automatic

4.95K
743
59d
BSD-3-Clause

Java serialization library, proto compiler, code generator

1.58K
267
5m
Apache-2.0

Library for describing binary formats for Scala types

79
41
6y 5m
MIT

Apache data serialization system providing rich data structures in a compact, fast, binary data format.

Insanely fast data interchange format and capability-based RPC system.

Implementations of the CBOR standard (RFC 7049) in many languages.

C++11 library for serialization.

Cross-platform, language and transport-independent framework for building and consuming network services.

Efficient binary serialization format.

Storage

Transactional Distributed Database Layer

741
141
39d
Apache-2.0

Scalable datastore for metrics, events, and real-time analytics

20.52K
2.88K
17d
MIT

Distributed database fully compatible with redis protocol

867
138
4y 7m
n/a

Documentation repo

60
15
1y 8m
n/a

An open source clone of Amazon's Dynamo.

2.44K
573
3y 6m
Apache-2.0

Data warehouse infrastructure built on top of Hadoop.

Column-oriented and providing high availability with no single point of failure.

multi model distributed database.

an open-source column-oriented database management system that allows generating analytical data reports in real time.

A distributed database engineered for performance, scalability, and simplified administration.

framework for real-time analysis of large datasets.

elastic](https://twitter.com/elastic) | - | an end-to-end search and analytics platform. infinitely versatile. By combining the massively popular Elasticsearch, Logstash and Kibana we have created an end-to-end stack that delivers actionable insights in real-time from almost any type of structured and unstructured data source. Built and supported by the engineers behind each of these open source products, the Elasticsearch ELK stack makes searching and analyzing data easier than ever before. |

Open source, distributed, in-memory database for scale-out applications.

Highly concurrent key/value datastore used for caching.

distributed time series database on top of HBase.

Columnar storage format that uses the record shredding and assembly algorithm described in the Dremel paper.

Open source, scalable database that makes building realtime apps easier.

Memory-centric distributed storage system, enabling reliable data sharing at memory-speed across cluster frameworks.

Testing

GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes.

13.82K
1.36K
42d
n/a

A library that tests if the implementation of a REST-API meets its specification.

153
11
28d
Apache-2.0

Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.

5.01K
465
25d
n/a

Service Virtualization Solution – a combined Service Stub and Transparent Proxy

35
9
68d
GPL-3.0

Lightweight service virtualization/API simulation tool for developers and testers

1.69K
166
43d
Apache-2.0

Interactive intercepting HTTP proxy for penetration testers and software developers. ![Open-Source Software][OSS Icon] ![Freeware][Freeware Icon]

Cross-platform, multi-protocol test doubles over the wire.

Contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.

TDD to the level of software architecture.

Flexible library for stubbing and mocking web services. Unlike general purpose mocking tools it works by creating an actual HTTP server that your code under test can connect to as it would a real web service.

Continuous Integration & Delivery

continuous integration and continuous delivery

1.24K
136
8m
GPL-2.0

GraphQL

JSON

A standard for building APIs.

REST

An API Blueprint renderer with theme support that outputs static HTML

4.55K
486
2y 4m
n/a

Simple, Comprehensive Tooling for Modern APIs

447
75
55d
MIT

📘 OpenAPI/Swagger-generated API Reference Documentation

12.71K
1.4K
39d
MIT

Beautiful static documentation for your API

31.98K
20.05K
41d
Apache-2.0

Tools for your whole API lifecycle. Use it to discuss your API with others. Generate documentation automatically. Or a test suite. Or even some code.

Simple and succinct way to describe RESTful API.

Document RESTful services by combining hand-written documentation with auto-generated snippets produced with Spring MVC Test.

Documentation/querying web interface for REST APIs.

World Wide Web

Architecture of the World Wide Web, Volume One.

Uniform Resource Identifier (URI): Generic Syntax.

URI Design and Ownership.

HTTP/1.1

HTTP/2

Hypertext Transfer Protocol Version 2.

QUIC

IETF Working Group that is chartered to deliver the next transport protocol for the Internet.

A UDP-based multiplexed and secure transport.

CoAP

The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things.

RPC

An attempt to specify a flexible binary serialization and RPC protocol that are compatible with the philosophies of dynamic languages.

A stateless, light-weight remote procedure call (RPC) protocol.

Messaging

Advanced Message Queuing Protocol.

MQ Telemetry Transport.

Simple Text Oriented Messaging Protocol.

Security

OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows clients to verify the identity of the end-user based on the authentication performed by an Authorization Server, as well as to obtain basic profile information about the end-user in an interoperable and REST-like manner.

Paseto is everything you love about JOSE (JWT, JWE, JWS) without any of the many design deficits that plague the JOSE standards. DRAFT

The Transport Layer Security (TLS) Protocol Version 1.2.

Datagram Transport Layer Security Version 1.2.

The OAuth 2.0 authorization framework.

JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures.

JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.

SCIM: Definitions, overview, concepts, and requirements.

SCIM: Core Schema, provides a platform-neutral schema and extension model for representing users and groups.

SCIM: Protocol, an application-level, REST protocol for provisioning and managing identity data on the web.

Service Discovery

The OpenAPI Specification Repository

18.62K
6.76K
6m
Apache-2.0

HAL

The JSON Hypertext Application Language (HAL) is a standard which establishes conventions for expressing hypermedia controls, such as links, with JSON. DRAFT

Vocabulary for Hypermedia-Driven Web APIs (W3C).

The Web Application Description Language specification.

The Web Services Description Language Version 2.0 spec.

Data Formats

A FIX standard for binary message encoding

145
48
83d
n/a

MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.

5.25K
468
6m
n/a

JavaScript Object Notation (JSON).

Concise Binary Object Representation (CBOR).

Binary JSON.

Standard for describing Linked Data and hypermedia relations in JSON (W3C).

Vocabularies

a JSON based format for defining the structure of JSON data.

LOV

Linked open vocabularies.

Collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond.

Unicode

The Unicode Consortium. The Unicode Standard, Version 8.0.0, (Mountain View, CA: The Unicode Consortium, 2015. ISBN 978-1-936213-10-8).

UTF-8, a transformation format of ISO 10646.

Organization Design / Team Dynamics

small_orange_diamond:PDF - Melvin E. Conway, Datamation magazine 1968. The original article defining Conway's Law.

Each team is responsible for one or more business functions (e.g. business capabilities). A team owns a code base consisting of one or more modules. Its code base is sized so as to not exceed the cognitive capacity of team. The team deploys its code as one or more services. A team should have exactly one service unless there is a proven need to have multiple services.

small_red_triangle:YT - DOES19 London. The "monoliths vs microservices" debate often focuses on technological aspects, ignoring strategy and team dynamics. Instead of technology, smart-thinking organizations are beginning with team cognitive load as the guiding principle for modern software. In this talk, we explain how and why, illustrated by real case studies.

Enterprise & Verticals

Framework to build flexible and modern e-commerce applications.

Articles & Papers

Model depicting the dimensions to scale a service.

small_orange_diamond:PDF - Set of requirements that may be useful in selecting a community-owned architecture benchmark to support repeatable microservices research.

A practical overview, based on real-world experience, of what one would need to know in order to build microservices.

small_orange_diamond:PDF - Consistency as logical monotonicity.

Technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.

States that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees: Consistency, Availability and Partition tolerance.

small_orange_diamond:PDF - The serverless computing abstraction exposes several low-level operational details that make it hard for programmers to write and reason about their code. This paper sheds light on this problem by presenting λ, an operational semantics of the essence of serverless computing.

Introduction to Uber Engineering generalized approach to microservice architectures, named “Domain-Oriented Microservice Architecture” (DOMA).

You can use this guide to understand what Java microservices are, how you architect and build them. Also: A look at Java microservice libraries & common questions.

Particular way of designing software applications as suites of independently deployable services.

Critical advice about some problems regarding a microservices approach.

Guide to ponder costs and benefits of the mircoservices architectural style.

Standard for asynchronous stream processing with non-blocking back pressure.

small_orange_diamond:PDF - Resource Oriented Computing for Adaptive Systems.

small_orange_diamond:PDF - Understanding software ecosystems: a strategic modeling approach.

Approaches for managing the additional testing complexity of multiple independently deployable components.

small_orange_diamond:PDF - Describes three abstractions which combine to present a powerful programming model for building safe, modular, and efficient server software: Composable futures, services and filters.

small_orange_diamond:PDF - Overview of the state of microservices in both industrial and academia.