awesome-microservices
A curated list of Microservices Architecture related principles and technologies.
https://github.com/eric-erki/awesome-microservices
Last synced: 10 days ago
JSON representation
-
Capabilities
-
Serialization
- Jackson - A multi-purpose Java library for processing JSON data format.
- Cap’n Proto - Insanely fast data interchange format and capability-based RPC system.
- Avro - Apache data serialization system providing rich data structures in a compact, fast, binary data format.
- CBOR - Implementations of the CBOR standard (RFC 7049) in many languages.
- Fastjson - Fast JSON Processor.
- Cheshire - Clojure JSON and JSON SMILE encoding/decoding.
- Kryo - Java serialization and cloning: fast, efficient, automatic.
- Protostuff - A serialization library with built-in support for forward-backward compatibility (schema evolution) and validation.
- Ffjson - Faster JSON serialization for Go.
- SBinary - Library for describing binary formats for Scala types.
- FST - Fast java serialization drop in-replacement.
- BooPickle - Binary serialization library for efficient network communication. For Scala and Scala.js
- Cereal - C++11 library for serialization.
- Jackson Afterburner - Jackson module that uses bytecode generation to further speed up data binding (+30-40% throughput for serialization, deserialization).
- Cereal - C++11 library for serialization.
-
Storage
- Parquet - Columnar storage format available to any project in the Hadoop ecosystem, regardless of the choice of data processing framework, data model or programming language.
- CockroachDB , [Part 4](http://insidethecpu.com/2015/08/28/microservices-in-c-part-4-scaling-out/), [Part 5](http://insidethecpu.com/2015/09/11/microservices-in-c-part-5-autoscaling/).
- Microservices with Python, RabbitMQ and Nameko
- Using Packer and Ansible to build immutable infrastructure
- Microservices with Python, RabbitMQ and Nameko
- Reactive Microservices - Project showcasing different microservice communication styles using Scala, Akka, Play and other tools from Scala ecosystem.
-
-
Standards / Recommendations
-
Messaging
- STOMP - Simple Text Oriented Messaging Protocol.
-
Data Formats
-
Unicode
-
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.
-
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.
-
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.
-
Vocabularies
- LOV - Linked open vocabularies.
-
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 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.
- RIBS2 - Library which allows building high-performance internet serving systems.
-
Java VM
- Jersey - RESTful services in Java. JAX-RS reference implementation.
- Spark - A micro-framework for creating web applications in Java 8 with minimal effort.
- Play - The high velocity web framework for Java and Scala.
- Ratpack - Set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. specific support for the Groovy language is provided.
- Dropwizard - Java framework for developing ops-friendly, high-performance, RESTful web services.
- 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.
- Modularity - JUXT's Clojure-based modular system.
- Akka HTTP - Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
- Armeria - Open-source asynchronous HTTP/2 RPC/REST client/server library built on top of Java 8, Netty, Thrift and gRPC.
- Disruptor - High-performance inter-thread messaging library.
- Compojure - A concise routing library for Ring/Clojure.
- Colossus - I/O and microservice library for Scala.
- QBit - Reactive programming library for building microservices.
- 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.
- Skinny Micro - Micro-web framework to build servlet applications in Scala.
- Ja-micro - Lightweight Java framework for building microservices (compatible with go-micro).
- Friboo - Utility library for writing microservices in Clojure, with support for Swagger and OAuth.
- MSF4J - High throughput & low memory footprint Java microservices framework.
- Liberator - Library that helps you expose your data as resources while automatically complying with all the relevant requirements of the HTTP specification.
- Finatra - Fast, testable, Scala HTTP services built on Twitter-Server and Finagle.
- 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.
- Dubbo - A high-performance, java based RPC framework open-sourced by Alibaba.
-
PHP
- Symfony - Micro-framework based on the Symfony components.
- 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.
- Phalcon - Full-stack PHP framework delivered as a C-extension.
- Fat-Free - A powerful yet easy-to-use PHP micro-framework.
- Upswarm - Multi-processed, async, fault-tolerant micro-framework for writing service-oriented applications.
- Flight - An extensible micro-framework.
-
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.
- Restbed - Brings asynchronous RESTful functionality to C++11 applications.
- ULib - Highly optimized class framework for writing C++ applications.
- Pion - C++ framework for building lightweight HTTP interfaces.
- Pistache - A high-performance REST toolkit written in C++.
- Served - C++ library for building high-performance RESTful web servers.
- 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.
-
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.
- Gizmo - Microservices toolkit.
- 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.
- RPCX - A distributed RPC service framework based on NET/RPC like Alibaba Dubbo and Weibo Motan.
- 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.
- Iris - Fast, simple and efficient micro web framework for Go.
- Goa - Design-based HTTP microservices in Go.
- Martini - Martini is a powerful package for quickly writing modular web applications/services in Golang.
- Kite - Microservices framework in Go.
- Gopencils - Easily consume REST APIs with Go.
- Sleepy - REST for go.
- KrakenD - Framework to build ultra performance API Gateways with middlewares.
- 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.
- Nano - A minimalistic, transport-agnostic and testing-friendly microservice framework.
- Neutrino - Realtime/REST backend service.
- Vamp-router - Service routing, load balancing and filtering application.
- Micro - A microservices toolchain in Go.
- Negroni - Idiomatic HTTP middleware for Golang.
- Vamp-router - Service routing, load balancing and filtering application.
-
Python
- Falcon - Bare-metal Python web API framework for building very fast app backends and microservices.
- Zappa - Framework for building and deploying server-less Python event-driven and web applications.
- Sanic - Sanic is a Flask-like Python 3.5+ web server that's written to go fast.
- Flask - Python framework for microservices based on Werkzeug and Jinja 2.
-
Ruby
-
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.
- Serverless - Build and maintain web, mobile and IoT applications running on AWS Lambda and API Gateway (formerly known as JAWS).
- Cote - A Node.js library for building zero-configuration microservices.
- Hudson Taylor - Set of libraries for building automatically documented, well validated services.
- Graft - Full-stack javascript through microservices.
- 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.
- 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.
-
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.
-
Polyglot
-
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.
-
Erlang VM
-
Haskell
-
-
Frameworks / Runtimes
- Eclipse Microprofile - 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.
- Ice - Comprehensive RPC framework with support for C++, C#, Java, JavaScript, Python, and more.
- Open Liberty - A lightweight open framework for building fast and efficient cloud-native Java microservices.
- SmallRye - APIs and implementations tailored for cloud development, including Eclipse MicroProfile.
- Thorntail - 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.
- 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.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Flogo - Flogo is an open source framework to simplify building efficient & modern serverless functions and edge microservices.
- Wangle - A framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.
- 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.
- Erlang/OTP - Programming language used to build massively scalable soft real-time systems with requirements on high availability.
- Light-4j - A high throughput, low latency, small memory footprint and more productive microservices platform.
- Lagom - Reactive microservices for the JVM.
- Microserver - Java 8 native, zero configuration, standards based, battle hardened library to run Java REST microservices.
- Grenache - A Bittorent-DHT based microservices framework supporting REQ/REP and PUB/SUB patterns over multiple transports.
- Micro - A microservice development runtime.
- Baratine - Platform for building a network of loosely-coupled POJO microservices.
- Finagle - Extensible RPC system for the JVM, used to construct high-concurrency servers.
- GPars - Concurrency and parallelism framework for the JVM.
-
Web API Modeling & Documentation
-
JSON
- JSON:API - A specification for how a client should request that resources be fetched or modified, and how a server should respond to those requests.
-
REST
- API Blueprint - 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.
- Aglio - API Blueprint renderer with theme support that outputs static HTML.
- Slate - Beautiful static documentation for your API.
- ReDoc - OpenAPI/Swagger-generated API Documentation.
- Apidoc - Beautiful documentation for REST services.
- RAML - RESTful API Modeling Language, a simple and succinct way of describing practically-RESTful APIs.
-
-
Enterprise & Verticals
-
Unicode
- Commercetools ![c - Headless commerce platform.
- Flamingo - Framework to build flexible and modern e-commerce applications.
- Interact ![c - CRM microservices for rapid delivery of tailored solutions.
- Predix ![c - Industrial microservices platform.
- Skava ![c - Provides microservices for all the functions of your store, and the glue to hold them together.
- Moltin ![c - E-commerce API for developers.
- Predix ![c - Industrial microservices platform.
-
-
Emerging Technologies
-
Sites & Organizations
- BigchainDB - The scalable blockchain database.
- CEPTR - A recomposable medium for distributed social computing, a semantic self-describing protocol stack, and a cretor of fractal coherence contexts for biomimetic computing.
- Edgware Fabric - Lightweight, agile service bus for systems at the edge of the network, in the physical world.
- Blockstack - A new decentralized internet where users control their data and apps run on their devices.
- Luna - Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics.
- CEPTR - A recomposable medium for distributed social computing, a semantic self-describing protocol stack, and a cretor of fractal coherence contexts for biomimetic computing.
- MultiChain - Open platform for building blockchains.
-
-
Real Life Stories
-
Contributing
-
Sites & Organizations
- open an issue - microservices/pulls) with your additions.
- Contribution Guidelines
-
-
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.
-
Frontend / UI
-
Ruby
- Awesome Micro Frontends - A curated list of resources about Micro Frontends.
-
-
Continuous Integration & Delivery
-
Testing
- Awesome CI/CD DevOps - A curated list of awesome tools for continuous integration, continuous delivery and DevOps.
-
Programming Languages
Categories
Sub Categories
API Gateways / Edge Services
44
Java VM
28
Go
22
Unicode
16
Monitoring & Debugging
16
Storage
16
Messaging
16
Serialization
15
Articles & Papers
15
Books
13
Configuration & Discovery
12
Sites & Organizations
12
C++
10
Security
10
Node.js
10
Tutorials
9
Resilience
9
Testing
9
PHP
7
Coordination & Governance
7
Elasticity
7
REST
6
Ruby
5
Job Schedulers / Workload Automation
5
Logging
5
C
4
CSharp
4
Python
4
Data Formats
3
Haskell
3
Perl
3
Erlang VM
3
Talks
3
Polyglot
2
Service Discovery
2
RPC
1
CoAP
1
Vocabularies
1
JSON
1
Keywords
go
14
java
12
microservices
11
microservice
9
golang
8
rest
7
distributed-systems
7
web-framework
6
api
5
proxy
5
websocket
5
scala
4
docker
4
http2
4
http
4
openapi
4
swagger
4
aws-lambda
3
service-discovery
3
router
3
clojure
3
cloud
3
monitoring
3
api-gateway
3
http-server
3
concurrency
3
messaging
3
serialization
3
json
3
serverless
3
actors
3
python
3
authentication
2
ssh
2
database
2
kubernetes
2
metrics
2
react
2
nodejs
2
akka
2
javascript
2
aws
2
resiliency
2
jersey
2
ruby
2
spring
2
reactjs
2
web
2
spring-boot
2
jvm
2