An open API service indexing awesome lists of open source software.

awesome-microservices

A curated list of Microservices Architecture related principles and technologies.
https://github.com/eric-erki/awesome-microservices

Last synced: 11 days ago
JSON representation

  • Capabilities

    • API Gateways / Edge Services

    • 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.
      • 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.
      • Denominator - Portably control DNS clouds using java or bash.
      • Doozer - Highly-available, completely consistent store for small amounts of data. When the data changes, it can notify connected clients immediately.
      • Etcd - Highly-available key-value store for shared configuration and service discovery.
      • Microphone - Lightweight .NET framework to run self hosting REST services using Web Api or NancyFx on top of a Consul or Etcd cluster.
      • Registrator - Service registry bridge for Docker. Supports pluggable service registries, which currently includes Consul, Etcd and SkyDNS 2.
      • Shaman - Small, lightweight, api-driven DNS server.
      • SkyDNS - Distributed service for announcement and discovery of services built on top of etcd. It utilizes DNS queries to discover available services.
      • SmartStack - Airbnb's automated service discovery and registration framework.
    • Coordination & Governance

      • AWS Step Functions ![c - Coordinate the components of distributed applications and microservices using visual workflows.
      • Azuqua ![c - Orchestration and governance platform for distributed applications.
      • Cadence - Fault-oblivious stateful code platform.
      • Zeebe - Define, orchestrate, and monitor business processes across microservices.
      • Conductor - A microservices orchestration engine.
      • Fission Workflows - Workflow-based, reliable function composition for serverless functions.
      • Zeebe - Define, orchestrate, and monitor business processes across microservices.
      • Azuqua ![c - Orchestration and governance platform for distributed applications.
    • Elasticity

      • Galaxy - Open source high-performance in-memory data-grid.
      • Grape - Realtime processing pipeline.
      • 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.
      • Nomad - Distributed, highly available, datacenter-aware scheduler.
      • Onyx - Distributed, masterless, high performance, fault tolerant data processing for Clojure.
      • Ordasity - Designed to spread persistent or long-lived workloads across several machines.
      • Galaxy - Open source high-performance in-memory data-grid.
      • Serf - Decentralized solution for cluster membership, failure detection and orchestration.
    • Job Schedulers / Workload Automation

      • JobScheduler - Open Source solution for enterprise-level workload automation. It is used to launch executable files and shell scripts and to run database procedures automatically.
      • Schedulix - Open source enterprise job scheduling system lays down ground-breaking standards for the professional automation of IT processes in advanced system environments.
      • Chronos - Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules.
      • Fenzo - Extensible scheduler for Mesos frameworks.
      • JobScheduler - Open Source solution for enterprise-level workload automation. It is used to launch executable files and shell scripts and to run database procedures automatically.
    • Logging

      • Suro - Distributed data pipeline which enables services for moving, aggregating, routing, storing data.
      • Bunyan - Simple and fast JSON logging library for Node.js services.
      • Kibana - Flexible analytics and visualization platform.
      • Logstash - Tool for managing events and logs.
      • Graylog - Fully integrated open source log management platform.
    • Messaging

      • Mosca - MQTT broker as a module.
      • NATS - Open source, high-performance, lightweight cloud messaging system.
      • Pulsar - Distributed pub-sub messaging system.
      • Qpid - Cross-platform messaging components built on AMQP.
      • RabbitMQ - Open source Erlang-based message broker that just works.
      • Aeron - Efficient reliable UDP unicast, UDP multicast, and IPC message transport.
      • Beanstalk - Simple, fast work queue.
      • Crossbar - Open source networking platform for distributed and microservice applications. It implements the open Web Application Messaging Protocol (WAMP).
      • Disque - Distributed message broker.
      • Malamute - ZeroMQ enterprise messaging broker.
      • Mist - A distributed, tag-based pub/sub service.
      • Mosca - MQTT broker as a module.
      • VerneMQ - Open source, scalable, Erlang-based MQTT broker.
      • Beanstalk - Simple, fast work queue.
      • RocketMQ - A low latency, reliable, scalable, easy to use message oriented middleware born from alibaba massive messaging business.
    • Monitoring & Debugging

      • IOpipe ![c - Application performance monitoring for Amazon Lambda.
      • Jaeger - An open source, end-to-end distributed tracing
      • OpenTracing - Vendor-neutral APIs and instrumentation for distributed tracing.
      • 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.
      • Watcher - Alerting for Elasticsearch.
      • Beats - Lightweight shippers for Elasticsearch & Logstash.
      • Collectd - The system statistics collection daemon.
      • Elastalert - Easy & flexible alerting for Elasticsearch.
      • Ganglia - A scalable distributed monitoring system for high-performance computing systems such as clusters and grids.
      • Microservice Graph Explorer - Navigate and explore all of the microservices in your application in real time using the real application connections.
      • Parallec - Fast parallel asynchronous HTTP/SSH/TCP/Ping client Java library.
      • REST Commander - Fast parallel asynchronous HTTP client as a service to monitor and manage HTTP endpoints.
      • Trace - A visualised stack trace platform designed for microservices.
      • Zabbix - Open source enterprise-class monitoring solution.
      • Watcher - Alerting for Elasticsearch.
    • Reactivity

      • Reactor.io - A second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification.
      • Simple React - Powerful future streams & asynchronous data structures for Java 8.
    • 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.
      • 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.
      • Saboteur - Causing deliberate network mayhem for better resilience.
      • Semian - Resiliency toolkit for Ruby for failing fast.
      • Simian Army - Suite of tools for keeping your cloud operating in top form. Chaos Monkey, the first member, is a resiliency tool that helps ensure that your applications can tolerate random instance failures.
      • Toxiproxy - TCP proxy to simulate network and system conditions for chaos and resiliency testing.
      • Pathod - Crafted malice for tormenting HTTP clients and servers.
    • Security

      • OpenID Connect - Libraries, products, and tools implementing current OpenID specifications and related specs.
      • Crtauth - A public key backed client/server authentication system.
      • Dex - Opinionated auth/directory service with pluggable connectors. OpenID Connect provider and third-party OAuth 2.0 delegation.
      • Identity Server - OpenID Connect and OAuth 2.0 Framework for ASP.NET Core.
      • 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.
      • Login With - Stateless login-with microservice for Google, FB, Github, and more.
      • OSIAM - Open source identity and access management implementing OAuth 2.0 and SCIMv2.
      • Vault - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing.
    • 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.
      • Jackson - A multi-purpose Java library for processing JSON data format.
      • BooPickle - Binary serialization library for efficient network communication. For Scala and Scala.js
      • 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.
      • Cereal - C++11 library for serialization.
    • Storage

      • Apache Hive - Data warehouse infrastructure built on top of Hadoop.
      • CockroachDB ![c - A cloud-native SQL database modelled after Google Spanner.
      • Elliptics - Fault tolerant distributed key/value storage.
      • Manta - Highly scalable, distributed object storage service with integrated compute.
      • 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.
      • Manta - Highly scalable, distributed object storage service with integrated compute.
      • Couchbase - A distributed database engineered for performance, scalability, and simplified administration.
      • AtlasDB - Transactional layer on top of a key value store.
      • Elasticsearch - Open source distributed, scalable, and highly available search server.
      • InfluxDB - Scalable datastore for metrics, events, and real-time analytics.
      • Reborn - Distributed database fully compatible with redis protocol.
      • Secure Scuttlebutt - P2P database of message-feeds.
      • Tachyon - Memory-centric distributed storage system, enabling reliable data sharing at memory-speed across cluster frameworks.
      • Voldemort - Open source clone of Amazon DynamoDB
      • Manta - Highly scalable, distributed object storage service with integrated compute.
      • ClickHouse - Column-oriented database management system that allows generating analytical data reports in real time.
    • Testing

      • Mountebank - Cross-platform, multi-protocol test doubles over the wire.
      • Spring Cloud Contract - TDD to the level of software architecture.
      • Goreplay - A tool for capturing and replaying live HTTP traffic into a test environment.
      • Hikaku - A library that tests if the implementation of a REST-API meets its specification.
      • Mountebank - Cross-platform, multi-protocol test doubles over the wire.
      • 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.
      • Mitmproxy - An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.
  • Continuous Integration & Delivery

    • Testing

      • Awesome CI/CD DevOps - A curated list of awesome tools for continuous integration, continuous delivery and DevOps.
  • Contributing

  • 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.
      • CEPTR - A recomposable medium for distributed social computing, a semantic self-describing protocol stack, and a cretor of fractal coherence contexts for biomimetic computing.
      • Luna - Visual and textual functional programming language with a focus on productivity, collaboration and development ergonomics.
      • MultiChain - Open platform for building blockchains.
      • Blocknet - The Blocknet makes possible to deliver microservices over a blockchain-based P2P network architecture.
  • 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.
  • Frameworks / Runtimes

    • Baratine - Platform for building a network of loosely-coupled POJO microservices.
    • 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.