awesome-microservices
A curated list of Microservice Architecture related principles and technologies.
https://github.com/mfornos/awesome-microservices
Last synced: 13 days ago
JSON representation
-
Capabilities
-
API Gateways / Edge Services
- data and control plane
- Ambassador (c) - Kubernetes-native API gateway for microservices built on Envoy.
- Caddy - Extensible HTTP/2 web server with automatic HTTPS.
- Istio - An open platform to connect, manage, and secure microservices.
- Keepalived - Simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures.
- KrakenD - Open source ultra performance API Gateway.
- Kuma - Platform agnostic open source control plane for service mesh and microservices.
- Linkerd - Resilient service mesh for cloud native apps.
- Open Service Mesh - Lightweight and extensible cloud native service mesh.
- Otoroshi - Modern HTTP reverse proxy with lightweight API management.
- Spring Cloud Gateway - API Gateway on top of Spring MVC. Aims to provide a simple, yet effective way to route to APIs.
- Tengine - A distribution of Nginx with some advanced features.
- Træfɪk - A modern HTTP reverse proxy and load balancer made to deploy microservices with ease.
- Tyk - Open source, fast and scalable API gateway, portal and API management platform.
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- data and control plane
- APIcast - APIcast is an API gateway built on top of NGINX. It is part of the Red Hat 3scale API Management Platform.
- Bunker Web - Web app hosting and reverse proxy secure by default.
- Envoy - Open source edge and service proxy, from the developers at Lyft.
- HAProxy - Reliable, high Performance TCP/HTTP load balancer.
- Kong - Open source management layer for APIs.
- Neutrino - Extensible software load balancer.
- Pingora - A library for building fast, reliable and evolvable network services.
- Skipper - HTTP router useful for decoupling routing from service logic.
- Traffic Server - High-performance building block for cloud services.
- Vulcand - Programmatic load balancer backed by Etcd.
- Zuul - An edge service that provides dynamic routing, monitoring, resiliency, security, and more.
- data and control plane
-
Configuration & Discovery
- Eureka - 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.
- Spring Cloud Config - Provides server and client-side support for externalized configuration in a distributed system.
- ZooKeeper - Open source server which enables highly reliable distributed coordination.
- Central Dogma - Open-source highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
- Consul - Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.
- Etcd - Highly-available key-value store for shared configuration and service discovery.
- Nacos - Easy-to-use dynamic service discovery, configuration and service management platform.
- SkyDNS - Distributed service for announcement and discovery of services built on top of etcd. It utilizes DNS queries to discover available services.
-
Elasticity
- Hazelcast - 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.
- Helix - Generic cluster management framework used for the automatic management of partitioned, replicated and distributed resources hosted on a cluster of nodes.
- Ignite - High-performance, integrated and distributed in-memory platform for computing and transacting on large-scale data sets in real-time, orders of magnitude faster than possible with traditional disk-based or flash technologies.
- Libp2p - A framework and suite of protocols for building peer-to-peer network applications.
- Mesos - 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.
- Zenoh - Pub/sub/query protocol unifying data in motion, data at rest and computations. Efficiently blends traditional pub/sub with geo distributed storage, queries and computations.
- Nomad - Distributed, highly available, datacenter-aware scheduler.
- Valkey - A new project to resume development on the formerly open-source Redis project.
- Serf - Decentralized solution for cluster membership, failure detection and orchestration.
-
Job Schedulers / Workload Automation
- Dkron - Distributed, fault tolerant job scheduling system.
- Rundeck (c) - Job scheduler and runbook automation. Enable self-service access to existing scripts and tools.
- Celery - Asynchronous task queue/job queue based on distributed message passing. Focused on real-time operation and supports scheduling.
- Faktory - Language-agnostic persistent background job server.
- Schedulix - Open source enterprise job scheduling system lays down ground-breaking standards for the professional automation of IT processes in advanced system environments.
-
Logging
- LogDNA (c) - Centralized log management software. Instantly collect, centralize, and analyze logs in real-time from any platform, at any volume.
- Logstash - Tool for managing events and logs.
- Kibana - Flexible analytics and visualization platform.
- Loki - Like Prometheus, but for logs.
- Graylog - Fully integrated open source log management platform.
-
Messaging
- ØMQ - Brokerless intelligent transport layer.
- Beanstalk - Simple, fast work queue.
- Mosca - MQTT broker as a module.
- Mosquitto - Open source message broker that implements the MQTT protocol.
- NATS - Open source, high-performance, lightweight cloud messaging system.
- Pulsar - Distributed pub-sub messaging system.
- RabbitMQ - Open source Erlang-based message broker that just works.
- VerneMQ - Open source, scalable, Erlang-based MQTT broker.
- Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
- Bull - Fast and reliable Redis-based queue for Node.
- Crossbar - Open source networking platform for distributed and microservice applications. It implements the open Web Application Messaging Protocol (WAMP).
- Malamute - ZeroMQ enterprise messaging broker.
- Mosca - MQTT broker as a module.
- Redpanda - Streaming data platform for developers: Kafka API compatible, 10x faster, no ZooKeeper and no JVM.
- VerneMQ - Open source, scalable, Erlang-based MQTT broker.
- RocketMQ - A low latency, reliable, scalable, easy to use message oriented middleware born from alibaba massive messaging business.
-
Monitoring & Debugging
- Beats - Lightweight shippers for Elasticsearch & Logstash.
- Grafana - An open source, feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB.
- IOpipe (c) - Application performance monitoring for Amazon Lambda.
- Jaeger - An open source, end-to-end distributed tracing
- OpenTelemetry - High-quality, ubiquitous, and portable telemetry to enable effective observability.
- Riemann - Monitors distributed systems.
- Sensu - Monitoring for today's infrastructure.
- SkyWalking - Application performance monitor tool for distributed systems, especially designed for microservices, cloud native and container-based (Docker, K8s, Mesos) architectures.
- Zabbix - Open source enterprise-class monitoring solution.
- Elastalert - Easy & flexible alerting for Elasticsearch.
- Zabbix - Open source enterprise-class monitoring solution.
-
Reactivity
- Reactor.io - A second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification.
- RSocket - Application protocol providing Reactive Streams semantics.
- Reactive Kafka - Reactive Streams API for Apache Kafka.
-
Resilience
- Raft Consensus - Consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance.
- Resilient HTTP - A smart HTTP client with super powers like fault tolerance, dynamic server discovery, auto balancing and reactive recovery, designed for distributed systems.
- Svix - Webhooks service that sends webhooks to your users with full retry schedules, exponential backoff, signature verification, and event types.
- Awesome Chaos Engineering - A curated list of awesome chaos engineering resources.
- Hystrix - 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.
- Resilience4j - Fault tolerance library designed for Java8 and functional programming.
- Resilient HTTP - A smart HTTP client with super powers like fault tolerance, dynamic server discovery, auto balancing and reactive recovery, designed for distributed systems.
- Raft Consensus - Consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance.
-
Security
- OpenID Connect - Libraries, products, and tools implementing current OpenID specifications and related specs.
- Open Ziti - Zero trust security and overlay networking as pure open source software.
- ORY - Open source identity infrastructure and services.
- SCIM - System for Cross-domain Identity Management.
- Cerbos Hub - Authorization management system for authoring, testing, and deploying access policies. Built scalable, fine-grained authorization in a microservice architecture.
- Dex - Opinionated auth/directory service with pluggable connectors. OpenID Connect provider and third-party OAuth 2.0 delegation.
- Keycloak - Full-featured and extensible auth service. OpenID Connect provider and third-party OAuth 2.0 delegation.
- Light OAuth2 - A fast, lightweight and cloud native OAuth 2.0 authorization microservices based on light-java.
- Open Ziti - Zero trust security and overlay networking as pure open source software.
- Vault - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing.
- OWASP Agent Memory Guard
- OpenID Connect - Libraries, products, and tools implementing current OpenID specifications and related specs.
- Open Ziti - Zero trust security and overlay networking as pure open source software.
-
Serialization
- Avro - Apache data serialization system providing rich data structures in a compact, fast, binary data format.
- Cap’n Proto - Insanely fast data interchange format and capability-based RPC system.
- CBOR - Implementations of the CBOR standard (RFC 7049) in many languages.
- Etch - Cross-platform, language and transport-independent framework for building and consuming network services.
- Jackson - A multi-purpose Java library for processing JSON data format.
- MessagePack - Efficient binary serialization format.
- Cereal - C++11 library for serialization.
- Cheshire - Clojure JSON and JSON SMILE encoding/decoding.
- Fastjson - Fast JSON Processor.
- Ffjson - Faster JSON serialization for Go.
- FST - Fast java serialization drop in-replacement.
- Jackson Afterburner - Jackson module that uses bytecode generation to further speed up data binding (+30-40% throughput for serialization, deserialization).
- Kryo - Java serialization and cloning: fast, efficient, automatic.
- Protostuff - A serialization library with built-in support for forward-backward compatibility (schema evolution) and validation.
- SBinary - Library for describing binary formats for Scala types.
- Bond - Cross-platform framework for working with schematized data, broadly used at Microsoft in high scale services.
- Lite³ - JSON-compatible zero-copy serialization format.
- yyjson - The fastest JSON library in C.
-
Storage
- Aerospike (c) - High performance NoSQL database delivering speed at scale.
- ClickHouse - Column-oriented database management system that allows generating analytical data reports in real time.
- CockroachDB (c) - A cloud-native SQL database modelled after Google Spanner.
- Crate (c) - Scalable SQL database with the NoSQL goodies.
- Elasticsearch - Open source distributed, scalable, and highly available search server.
- Geode - Open source, distributed, in-memory database for scale-out applications.
- OpenTSDB - Scalable and distributed time series database written on top of Apache HBase.
- TiKV - Distributed transactional key-value database.
- Trino - Fast distributed SQL query engine for big data analytics that helps you explore your data universe.
- Couchbase - A distributed database engineered for performance, scalability, and simplified administration.
- Alluxio - Virtual distributed storage system.
- AtlasDB - Transactional layer on top of a key value store.
- Citus - Distributed PostgreSQL as an extension.
- Couchbase - A distributed database engineered for performance, scalability, and simplified administration.
- InfluxDB - Scalable datastore for metrics, events, and real-time analytics.
- Pilosa - Open source, distributed bitmap index that dramatically accelerates queries across multiple, massive data sets.
- Secure Scuttlebutt - P2P database of message-feeds.
- ClickHouse - Column-oriented database management system that allows generating analytical data reports in real time.
- Couchbase - A distributed database engineered for performance, scalability, and simplified administration.
-
Testing
- Mountebank - Cross-platform, multi-protocol test doubles over the wire.
- Pact - Contract testing framework for HTTP APIs and non-HTTP asynchronous messaging systems.
- Spring Cloud Contract - TDD to the level of software architecture.
- Goreplay - A tool for capturing and replaying live HTTP traffic into a test environment.
- Mountebank - Cross-platform, multi-protocol test doubles over the wire.
- RestQA - A tool to manage microservices mocking, unit and performance testing locally with best in class developer experience.
- VCR - Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests. See the list of ports for implementations in other languages.
- Wilma - Combined HTTP/HTTPS service stub and transparent proxy solution.
- Hoverfly - Lightweight service virtualization/API simulation tool for developers and testers.
- Mitmproxy - An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.
- WireMock - 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.
- Specmatic - Converts API specifications (OpenAPI, AsyncAPI, GraphQL, gRPC etc) into executable contracts for automated testing, service virtualisation, and backward compatibility validation without writing code.
-
Workflow Orchestration
- AWS Step Functions (c) - Coordinate the components of distributed applications and microservices using visual workflows.
- Cadence - Fault-oblivious stateful code platform.
- Conductor - A microservices orchestration engine.
- Inngest - Durable functions for reliable background logic, from background jobs to complex workflows.
- Kestra - Open source microservices event-driven, language-agnostic orchestration and scheduling platform.
- Temporal - Open source microservices orchestration platform for running mission critical code at any scale.
- Zeebe - Define, orchestrate, and monitor business processes across microservices.
-
-
Continuous Integration & Delivery
-
Testing
- Awesome CI/CD DevOps - A curated list of awesome tools for continuous integration, continuous delivery and DevOps.
-
-
Enterprise & Verticals
-
Unicode
- Commercetools - Headless commerce platform.
- Elasticpath - E-commerce microservices.
- Equinox - Infosys Equinox is a human-centric commerce and marketing platform that supports rich, hyper-personalized experiences across any channel and touchpoint.
- Flamingo - Framework to build flexible and modern e-commerce applications.
- Medusa - Headless open source commerce platform.
-
-
Frameworks / Runtimes
- Ballerina - Cloud native programming language.
- Bun - Fast all-in-one JavaScript runtime.
- Dapr - Open source runtime for writing highly performant microservices using any programming language.
- 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.
- Gleam - A friendly language for building type-safe, scalable systems.
- GraalVM - High-performance runtime that provides significant improvements in application performance and efficiency which is ideal for microservices.
Programming Languages
Categories
Sub Categories
API Gateways / Edge Services
54
Articles & Papers
28
Security
27
Java VM
23
Storage
19
Messaging
19
Serialization
18
Go
15
Testing
13
Unicode
12
Monitoring & Debugging
11
Node.js
11
Rust
9
Elasticity
9
Configuration & Discovery
8
REST
8
Python
8
Resilience
8
Workflow Orchestration
7
HTTP/1.1
7
PHP
7
Sites & Organizations
6
C++
6
Self-sovereignty & Decentralisation
5
Job Schedulers / Workload Automation
5
Logging
5
Data Formats
4
C
4
Ruby
4
Erlang VM
4
World Wide Web
4
Haskell
3
Reactivity
3
CSharp
3
QUIC
2
Perl
2
Service Discovery
2
RPC
1
HTTP/2
1
Async
1
D
1
Vocabularies
1
Polyglot
1
JSON
1
Keywords
go
17
java
14
microservices
13
http
10
golang
10
microservice
10
framework
9
distributed-systems
9
api
8
kubernetes
7
grpc
7
serverless
6
database
6
web
6
web-framework
6
rest-api
6
http2
5
devops
5
rest
5
websocket
5
router
5
serialization
5
proxy
5
rpc
5
cross-platform
4
python
4
c
4
cloud-native
4
cloud
4
openapi
4
rust
4
json
4
swagger
4
docker
4
middleware
4
server
4
http-server
3
workflows
3
testing-tools
3
sql
3
ai
3
workflow-engine
3
websockets
3
redis
3
microservices-architecture
3
high-performance
3
performance
3
reverse-proxy
3
https
3
amqp
3