awesome-microservices
A curated list of Microservices Architecture related principles and technologies.
https://github.com/eric-erki/awesome-microservices
Last synced: 12 days ago
JSON representation
-
Frameworks / Runtimes
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Erlang/OTP - Programming language used to build massively scalable soft real-time systems with requirements on high availability.
- Finagle - Extensible RPC system for the JVM, used to construct high-concurrency servers.
- Flogo - Flogo is an open source framework to simplify building efficient & modern serverless functions and edge microservices.
- GPars - Concurrency and parallelism framework for the JVM.
- Grenache - A Bittorent-DHT based microservices framework supporting REQ/REP and PUB/SUB patterns over multiple transports.
- Lagom - Reactive microservices for the JVM.
- Light-4j - A high throughput, low latency, small memory footprint and more productive microservices platform.
- Micro - A microservice development runtime.
- Microserver - Java 8 native, zero configuration, standards based, battle hardened library to run Java REST microservices.
- Orbit - Modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services.
- Quasar - Fibers, channels and actors for the JVM.
- Wangle - A framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
-
Frontend / UI
-
Ruby
- Awesome Micro Frontends - A curated list of resources about Micro Frontends.
-
-
Platforms
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Netflix OSS - Netflix open source software ecosystem.
- STUPS - A set of tools and components by Zalando to provide a convenient and audit-compliant PaaS for multiple autonomous teams on top of AWS.
- Mantl - Platform for rapidly deploying globally distributed services.
- OpenWhisk - Serverless, open source cloud platform that executes functions in response to events at any scale.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Hook.io - Open source provider of microservice and webhook hosting.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- Express Serverless - An open source, Kubernetes-native, microservices and serverless platform.
- KintoHub ![c - Microservice package manager empowering developers to easily build and share cloud ready features.
- Lightbend ![c - Platform for building scalable reactive systems on the JVM.
- OpenWhisk - Serverless, open source cloud platform that executes functions in response to events at any scale.
-
Real Life Stories
-
Service Toolkits
-
C
- Kore - Easy to use web application framework for writing scalable web APIs in C.
- Onion - C library to create simple HTTP servers and web applications.
- RIBS2 - Library which allows building high-performance internet serving systems.
- Libasyncd - Embeddable event-based asynchronous HTTP server library for C.
- Libslack - 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.
-
C++
- Cap’n Proto RPC - The Cap’n Proto C++ RPC implementation.
- C++ Micro Services - An OSGi-like C++ dynamic module system and service registry.
- AnyRPC - Provides a common system to work with a number of different remote procedure call standards, including: JSON-RPC, XML-RPC, MessagePack-RPC.
- C++ Micro Services - An OSGi-like C++ dynamic module system and service registry.
- Enduro/X - XATMI based service framework for GNU/Linux.
- Pion - C++ framework for building lightweight HTTP interfaces.
- Pistache - A high-performance REST toolkit written in C++.
- Restbed - Brings asynchronous RESTful functionality to C++11 applications.
- Served - C++ library for building high-performance RESTful web servers.
- ULib - Highly optimized class framework for writing C++ applications.
-
CSharp
- Nancy - Lightweight web framework.
- Microdot - Open source .NET microservices framework.
- Nancy - Lightweight web framework.
- Orleans - Provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.
-
Erlang VM
-
Go
- Echo - Fast and unfancy HTTP server framework for Go. Up to 10x faster than the rest.
- Goji - Minimalistic and flexible request multiplexer for Go.
- Enduro/X ASG - Enduro/X bindings for Go allows to effectively write XATMI based microservices in Go language. Uses Unix kernel IPC (queues) for fast process communications.
- Gin - 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.
- Gizmo - Microservices toolkit.
- Goa - Design-based HTTP microservices in Go.
- Gocraft - A toolkit for building web apps. Includes routing, middleware stacks, logging and monitoring.
- Go kit - Distributed programming toolkit for microservices in the modern enterprise.
- Go-micro - A pluggable RPC microservice framework.
- Gopencils - Easily consume REST APIs with Go.
- Iris - Fast, simple and efficient micro web framework for Go.
- Kite - Microservices framework in Go.
- KrakenD - Framework to build ultra performance API Gateways with middlewares.
- Martini - Martini is a powerful package for quickly writing modular web applications/services in Golang.
- Nano - A minimalistic, transport-agnostic and testing-friendly microservice framework.
- Neutrino - Realtime/REST backend service.
- RPCX - A distributed RPC service framework based on NET/RPC like Alibaba Dubbo and Weibo Motan.
- Sleepy - REST for go.
- Vamp-router - Service routing, load balancing and filtering application.
- Negroni - Idiomatic HTTP middleware for Golang.
- Micro - A microservices toolchain in Go.
- Libchan - Ultra-lightweight networking library which lets network services communicate in the same way that goroutines communicate using channels.
-
Haskell
-
Java VM
- Modularity - JUXT's Clojure-based modular system.
- Dropwizard - Java framework for developing ops-friendly, high-performance, RESTful web services.
- Jersey - RESTful services in Java. JAX-RS reference implementation.
- Ratpack - Set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. specific support for the Groovy language is provided.
- Spark - A micro-framework for creating web applications in Java 8 with minimal effort.
- Http4k - 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.
- Ktor - Framework for building asynchronous servers and clients in connected systems using the Kotlin programming language.
- Akka HTTP - Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
- Play - The high velocity web framework for Java and Scala.
- Armeria - Open-source asynchronous HTTP/2 RPC/REST client/server library built on top of Java 8, Netty, Thrift and gRPC.
- Compojure - A concise routing library for Ring/Clojure.
- Friboo - Utility library for writing microservices in Clojure, with support for Swagger and OAuth.
- Liberator - Library that helps you expose your data as resources while automatically complying with all the relevant requirements of the HTTP specification.
- System - Built on top of Stuart Sierra's component library, offers a set of readymade components.
- Tesla - Common basis for some of Otto.de's Clojure microservices.
- Airlift - Framework for building REST services in Java.
- Disruptor - High-performance inter-thread messaging library.
- Ja-micro - Lightweight Java framework for building microservices (compatible with go-micro).
- MSF4J - High throughput & low memory footprint Java microservices framework.
- QBit - Reactive programming library for building microservices.
- Colossus - I/O and microservice library for Scala.
- Finatra - Fast, testable, Scala HTTP services built on Twitter-Server and Finagle.
- Skinny Micro - Micro-web framework to build servlet applications in Scala.
- Squbs - A suite of components enabling standardization and operationalization of Akka and Akka HTTP applications/services in a large scale, managed, cloud environment.
- Squbs - A suite of components enabling standardization and operationalization of Akka and Akka HTTP applications/services in a large scale, managed, cloud environment.
- Armeria - Open-source asynchronous HTTP/2 RPC/REST client/server library built on top of Java 8, Netty, Thrift and gRPC.
- Duct - Minimal framework for building web applications in Clojure, with a strong emphasis on simplicity.
- HTTP Remoting - Libraries for defining and creating RESTish/RPC servers and clients based on Feign or Retrofit as a client and Dropwizard/Jersey with JAX-RS service definitions as a server.
- Akka HTTP - Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
- Scalatra - Simple, accessible and free web micro-framework.
-
Node.js
- ClaudiaJS - Easy to deploy Node.js projects to AWS Lambda and API Gateway.
- Restify - Node.js module built specifically to enable you to build correct REST web services.
- StdLib - Standard library for microservices.
- Cote - A Node.js library for building zero-configuration microservices.
- Graft - Full-stack javascript through microservices.
- Hudson Taylor - Set of libraries for building automatically documented, well validated services.
- Micro Panda - Node.js toolkit to help build microservices.
- Micro-Whalla - A simple, fast framework for writing microservices in Node.js communicate using RPC / IPC.
- Serverless - Build and maintain web, mobile and IoT applications running on AWS Lambda and API Gateway (formerly known as JAWS).
- Steriods Framework - Steroids framework simplifies the development of microservices with Serverless using TypeScript by enabling the developer to emphasize more on business/domain logic rather than focusing too much on technical details.
- Micro - Asynchronous HTTP microservices.
-
Perl
- Mojolicious - Next generation web framework for Perl.
- Cro - Libraries for creating reactive distributed systems using Perl 6.
- Mojolicious - Next generation web framework for Perl.
-
PHP
- API Platform - API-first web framework on top of Symfony with JSON-LD, Schema.org and Hydra support.
- Fat-Free - A powerful yet easy-to-use PHP micro-framework.
- Symfony - Micro-framework based on the Symfony components.
- Fat-Free - A powerful yet easy-to-use PHP micro-framework.
- Phalcon - Full-stack PHP framework delivered as a C-extension.
- Upswarm - Multi-processed, async, fault-tolerant micro-framework for writing service-oriented applications.
- Flight - An extensible micro-framework.
- Fat-Free - A powerful yet easy-to-use PHP micro-framework.
-
Polyglot
-
Python
- Falcon - Bare-metal Python web API framework for building very fast app backends and microservices.
- Sanic - Sanic is a Flask-like Python 3.5+ web server that's written to go fast.
- Zappa - Framework for building and deploying server-less Python event-driven and web applications.
- Flask - Python framework for microservices based on Werkzeug and Jinja 2.
- Aiohttp - HTTP client/server for asyncio.
-
Ruby
-
-
Standards / Recommendations
-
CoAP
- RFC7252 - The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things.
-
Data Formats
-
Messaging
-
RPC
- BERT-RPC 1.0 - An attempt to specify a flexible binary serialization and RPC protocol that are compatible with the philosophies of dynamic languages.
-
Security
- OIDCONN - 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.
-
Service Discovery
- Hydra - Specifications for interoperable, hypermedia-driven Web APIs.
- OpenAPI - The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic.
- OpenAPI - The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for REST APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic.
-
Unicode
-
Vocabularies
- LOV - Linked open vocabularies.
-
-
Theory
-
Articles & Papers
- A sidecar for your service mesh - A short service mesh introduction.
- Benchmark Requirements for Microservices Architecture Research - Set of requirements that may be useful in selecting a community-owned architecture benchmark to support repeatable microservices research.
- Building Microservices? Here is What You Should Know - A practical overview, based on real-world experience, of what one would need to know in order to build Microservices.
- CAP Theorem - States that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees: Consistency, Availability and Partition tolerance.
- Formal Foundations of Serverless Computing - 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.
- Microservices and SOA - Similarities, differences, and where we go from here.
- Microservices RefCard - Getting started with microservices.
- Reactive Streams - Initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.
- ROCAS - Resource Oriented Computing for Adaptive Systems.
- Service Discovery in a Microservice Architecture - Overview of discovery and registration patterns.
- CAP Theorem - States that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees: Consistency, Availability and Partition tolerance.
- Reactive Streams - Initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.
- ROCAS - Resource Oriented Computing for Adaptive Systems.
- Service Discovery in a Microservice Architecture - Overview of discovery and registration patterns.
- Formal Foundations of Serverless Computing - 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.
- Microservices – Please, don’t - Critical advice about some problems regarding a microservices approach.
-
Books
- Building Microservices - Building Microservices: Designing Fine-grained Systems. Sam Newman. Preview Edition.
- Istio in Action - Teaches you how to implement a full-featured Istio-based service mesh to manage a microservices application.
- Microservices in Action - A practical book about building and deploying microservice-based applications.
- Microservice Patterns - Teaches how to build applications with the microservice architecture and how to refactor a monolithic application to a microservices.
- Microservices from Theory to Practice - Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach. IBM Redbooks publication.
- Pulsar in Action - A practical book about developing microservice-based applications using Apache Pulsar by Manning Press.
- Testing Microservices with Mountebank - Provides a testing strategy using mountebank for service virtualization, promoting independent releases of Microservices
- The New Stack eBook Series - A Comprehensive Overview of the Docker and Container Ecosystem.
- The Tao of Microservices - Teaches the path to understanding how to apply microservices architecture with your own real-world projects.
- Micro Frontends in Action - A practical guide that teaches how to develop large software projects with multiple independent teams.
- Migrating to Cloud Native Application Architectures - This O’Reilly report defines the unique characteristics of cloud native application architectures such as microservices and twelve-factor applications.
- Pulsar in Action - A practical book about developing microservice-based applications using Apache Pulsar by Manning Press.
- Microservice Architecture: Aligning Principles, Practices, and Culture - Practical advice for the strategy and design of Microservices.
- Microservices from Theory to Practice - Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach. IBM Redbooks publication.
- Microservice Patterns - Teaches how to build applications with the microservice architecture and how to refactor a monolithic application to a microservices.
-
Sites & Organizations
- Cloud Native Computing Foundation - The Cloud Native Computing Foundation builds sustainable ecosystems and fosters a community around a constellation of high-quality projects that orchestrate containers as part of a microservices architecture.
-
Programming Languages
Categories
Sub Categories
API Gateways / Edge Services
44
Java VM
30
Go
22
Monitoring & Debugging
17
Messaging
17
Storage
16
Articles & Papers
16
Unicode
15
Books
15
Serialization
15
Tutorials
13
Sites & Organizations
13
Configuration & Discovery
12
Node.js
11
Resilience
10
C++
10
Security
10
Testing
9
Coordination & Governance
8
PHP
8
Elasticity
8
REST
7
Talks
5
Logging
5
Python
5
Ruby
5
Job Schedulers / Workload Automation
5
C
5
CSharp
4
Polyglot
3
Service Discovery
3
Data Formats
3
Haskell
3
Perl
3
Erlang VM
3
Reactivity
2
RPC
1
CoAP
1
Vocabularies
1
JSON
1
Keywords
go
14
java
12
microservices
11
microservice
10
golang
8
distributed-systems
7
rest
7
web-framework
6
websocket
5
api
5
proxy
5
openapi
4
swagger
4
http
4
http2
4
scala
4
docker
4
messaging
3
router
3
service-discovery
3
http-server
3
clojure
3
cloud
3
python
3
actors
3
api-gateway
3
serverless
3
concurrency
3
monitoring
3
aws-lambda
3
serialization
3
json
3
oauth2
2
performance
2
middleware
2
server
2
rest-api
2
serverless-framework
2
tcp-client
2
nanopack
2
nanobox
2
devtools
2
authentication
2
ssh
2
akka
2
react
2
metrics
2
jackson
2
database
2
rpc
2