Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

awesome-microservices-ct


https://github.com/chuxuantinh/awesome-microservices-ct

Last synced: 1 day ago
JSON representation

  • Service Toolkits

    • JVM

      • Jersey - RESTful Web Services in Java. JAX-RS (JSR 311 & JSR 339) Reference Implementation.
      • Compojure - A concise routing library for Ring/Clojure.
      • 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.
      • Finagle - Extensible RPC system for the JVM, used to construct high-concurrency servers.
      • Karyon - The nucleus or the base container for Applications and Services built using the NetflixOSS ecosystem.
      • 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.
      • Modularity - JUXT's Clojure-based modular system.
      • Dropwizard - Java framework for developing ops-friendly, high-performance, RESTful web services.
      • Play - The high velocity web framework for Java and Scala.
      • Spray - Open-source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
      • Duct - Minimal framework for building web applications in Clojure, with a strong emphasis on simplicity.
      • Restlet - Helps Java developers build web APIs that follow the REST architecture style.
    • 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.
      • Kite - Microservice framework in Go.
      • Martini - Classy web development in Go.
      • Gin - Web framework written in Golang.
      • Martini - Classy web development in Go.
      • Martini - Classy web development in Go.
      • Martini - Classy web development in Go.
    • Node.js

      • Baucis - To build and maintain scalable HATEOAS/Level 3 REST APIs.
      • Express - Fast, unopinionated, minimalist web framework for Node.js
      • Restify - Node.js module built specifically to enable you to build correct REST web services.
    • C

      • Kore - Easy to use web application framework for writing scalable web APIs in C.
  • Runtimes

    • Erlang

      • Erlang/OTP - Programming language used to build massively scalable soft real-time systems with requirements on high availability.
      • Orbit - Modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services.
  • Platforms

    • Erlang

      • Fabric8 - Open-source integration platform for deep management of Java Containers (JVMs).
      • hook.io - Free open-source hosting platform for microservices
  • Infrastructure

    • API Gateway

      • HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer.
      • Kong - Open-source management layer for APIs.
      • Tyk - Open-source, fast and scalable API gateway, portal and API management platform.
    • Serialization

      • CBOR - Implementations of the CBOR standard (RFC 7049) in many languages.
      • Jackson - A multi-purpose Java library for processing JSON data format.
      • Protostuff - A serialization library with built-in support for forward-backward compatibility (schema evolution) and validation.
    • Messaging

      • NATS - Open-source, high-performance, lightweight cloud messaging system.
      • Qpid - Cross-platform messaging components built on AMQP.
      • RabbitMQ - Open source Erlang-based message broker that just works.
      • Nanomsg - Socket library that provides several common communication patterns for building distributed systems.
    • Elastic Computing

      • Galaxy - Open-source high-performance in-memory data-grid.
      • 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.
      • Service Fabric - Fault-tolerant decentralized peer-to-peer based cluster membership service with no single point of failure.
    • 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.
    • Configuration and 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.
    • Monitoring

      • Riemann - Monitors distributed systems.
    • Logging

      • Suro - Distributed data pipeline which enables services for moving, aggregating, routing, storing data.
      • Logstash - Tool for managing events and logs.
  • Deployment and Continuous Integration

    • On-prem

      • RPM Maven - Allows artifacts from one or more projects to be packaged in an RPM for distribution.
  • Containers

    • Lightweight

      • Docker - Open platform for distributed applications for developers and sysadmins.
  • Modeling

    • REST APIs

      • 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.
    • Systems & SPLs

      • FAMILIAR - A language for importing, exporting, composing, decomposing, editing, configuring, computing "diffs", refactoring, reverse engineering, testing, and reasoning about feature models.
      • SoaML - OMG Service Oriented Architecture Modeling Language.
      • SysML - OMG Systems Modeling Language.
  • Standards / Recommendations

    • Service Discovery

      • HAL-DRAFT - The JSON Hypertext Application Language (HAL) is a standard which establishes conventions for expressing hypermedia controls, such as links, with JSON (_draft_).
      • WADL - The Web Application Description Language specification.
    • Data Formats

      • RFC7049 - Concise Binary Object Representation (CBOR).
      • SMILE - JSON-compatible binary data format.
      • MSGPACK - MessagePack Specification.
    • Unicode

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

  • Theory

    • Articles & Papers

      • 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.
      • Cloud Design Patterns - Contains twenty-four design patterns that are useful in cloud-hosted applications. Includes: Circuit Breaker, Competing Consumers, CQRS, Event Sourcing, Gatekeeper, Cache-Aside, etc.
      • Hexagonal Architecture - Allows an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases.
      • Reactive Streams - Initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.
    • Sites

      • OSGi Alliance - OSGi technology facilitates the componentization of software modules and applications and assures remote management and interoperability of applications and services over a broad variety of devices.
    • Books

      • Building Microservices - Building Microservices: Designing Fine-grained Systems. Sam Newman. Preview Edition.
  • Contributing