mirror of
https://github.com/mfornos/awesome-microservices.git
synced 2024-11-27 11:24:38 -05:00
Merge branch 'master' of github.com:mfornos/awesome-microservices
This commit is contained in:
commit
44cfa84b77
1 changed files with 49 additions and 26 deletions
75
README.md
75
README.md
|
@ -12,6 +12,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Agnostic](#agnostic)
|
- [Agnostic](#agnostic)
|
||||||
- [C](#c)
|
- [C](#c)
|
||||||
- [C++](#c-1)
|
- [C++](#c-1)
|
||||||
|
- [C#](#csharp)
|
||||||
- [D](#d)
|
- [D](#d)
|
||||||
- [Erlang VM](#erlang-vm)
|
- [Erlang VM](#erlang-vm)
|
||||||
- [Go](#go)
|
- [Go](#go)
|
||||||
|
@ -24,6 +25,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Ruby](#ruby)
|
- [Ruby](#ruby)
|
||||||
- [Capabilities](#capabilities)
|
- [Capabilities](#capabilities)
|
||||||
- [API Gateways / Edge Services](#api-gateways--edge-services)
|
- [API Gateways / Edge Services](#api-gateways--edge-services)
|
||||||
|
- [Coordination and Governance](#coordination-and-governance)
|
||||||
- [Configuration and Discovery](#configuration-and-discovery)
|
- [Configuration and Discovery](#configuration-and-discovery)
|
||||||
- [Security](#security)
|
- [Security](#security)
|
||||||
- [Job Schedulers / Workload Automation](#job-schedulers--workload-automation)
|
- [Job Schedulers / Workload Automation](#job-schedulers--workload-automation)
|
||||||
|
@ -57,6 +59,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Vocabularies](#vocabularies)
|
- [Vocabularies](#vocabularies)
|
||||||
- [Unicode](#unicode)
|
- [Unicode](#unicode)
|
||||||
- [Real Life Stories](#real-life-stories)
|
- [Real Life Stories](#real-life-stories)
|
||||||
|
- [Enterprise & Verticals](#enterprise--verticals)
|
||||||
- [Theory](#theory)
|
- [Theory](#theory)
|
||||||
- [Articles & Papers](#articles--papers)
|
- [Articles & Papers](#articles--papers)
|
||||||
- [Talks](#talks)
|
- [Talks](#talks)
|
||||||
|
@ -78,6 +81,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Fabric8](http://fabric8.io/) - Open source microservices platform based on Docker, Kubernetes and Jenkins. Makes it easy to create, edit, deploy and manage microservices and go faster.
|
- [Fabric8](http://fabric8.io/) - Open source microservices platform based on Docker, Kubernetes and Jenkins. Makes it easy to create, edit, deploy and manage microservices and go faster.
|
||||||
- [Hook.io](https://hook.io/) - Open source hosting platform for microservices.
|
- [Hook.io](https://hook.io/) - Open source hosting platform for microservices.
|
||||||
- [Lattice](http://lattice.cf/) - Open source project for running containerized workloads on a cluster. Lattice bundles up http load-balancing, a cluster scheduler, log aggregation/streaming and health management into an easy-to-deploy and easy-to-use package.
|
- [Lattice](http://lattice.cf/) - Open source project for running containerized workloads on a cluster. Lattice bundles up http load-balancing, a cluster scheduler, log aggregation/streaming and health management into an easy-to-deploy and easy-to-use package.
|
||||||
|
- [Lightbend](https://www.lightbend.com/) - Platform for building scalable reactive systems on the JVM.
|
||||||
- [Netflix OSS](https://netflix.github.io/) - Netflix open source software ecosystem.
|
- [Netflix OSS](https://netflix.github.io/) - Netflix open source software ecosystem.
|
||||||
- [Spring Cloud Netflix](https://github.com/spring-cloud/spring-cloud-netflix) - Provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.
|
- [Spring Cloud Netflix](https://github.com/spring-cloud/spring-cloud-netflix) - Provides Netflix OSS integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms.
|
||||||
- [VAMP](http://vamp.io/) - Build, deploy and manage microservices with power and ease.
|
- [VAMP](http://vamp.io/) - Build, deploy and manage microservices with power and ease.
|
||||||
|
@ -94,7 +98,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Microserver](https://github.com/aol/micro-server) - Java 8 native, zero configuration, standards based, battle hardened library to run Java REST microservices.
|
- [Microserver](https://github.com/aol/micro-server) - Java 8 native, zero configuration, standards based, battle hardened library to run Java REST microservices.
|
||||||
- [Orbit](http://orbit.bioware.com/) - Modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services.
|
- [Orbit](http://orbit.bioware.com/) - Modern framework for JVM languages that makes it easier to build and maintain distributed and scalable online services.
|
||||||
- [Quasar](https://github.com/puniverse/quasar) - Fibers, Channels and Actors for the JVM.
|
- [Quasar](https://github.com/puniverse/quasar) - Fibers, Channels and Actors for the JVM.
|
||||||
- [Service Fabric I/O](http://scalecube.io) - A microservices framework for the rapid development of distributed, resilient, reactive applications at scale.
|
- [Scale Cube](http://scalecube.io/) - Library for building resilient and reactive microservices with peer-to-peer service registry and discovery based on gossip protocol.
|
||||||
- [Vert.X](http://vertx.io/) - Toolkit for building reactive applications on the JVM.
|
- [Vert.X](http://vertx.io/) - Toolkit for building reactive applications on the JVM.
|
||||||
- [Vert.X Toolbox](https://github.com/vert-x3/vertx-microservices-toolbox) - A set of Vert.x components to build reactive microservice applications.
|
- [Vert.X Toolbox](https://github.com/vert-x3/vertx-microservices-toolbox) - A set of Vert.x components to build reactive microservice applications.
|
||||||
- [Light Java](https://github.com/networknt/light-java) - The fastest, lightest and most productive microservices framework.
|
- [Light Java](https://github.com/networknt/light-java) - The fastest, lightest and most productive microservices framework.
|
||||||
|
@ -104,7 +108,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
### Agnostic
|
### Agnostic
|
||||||
|
|
||||||
- [Apex](https://github.com/apex/apex) - Tool for deploying and managing AWS Lambda functions. With shims for languages not yet supported by Lambda, you can use Golang out of the box.
|
- [Apex](https://github.com/apex/apex) - Tool for deploying and managing AWS Lambda functions. With shims for languages not yet supported by Lambda, you can use Golang out of the box.
|
||||||
- [CoAP](http://coap.technology/impls.html) - Constrained Application Protocol implementations.
|
- [CoAP](http://coap.technology/impls.html) - Constrained application protocol implementations.
|
||||||
- [GRPC](http://www.grpc.io/) - A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. Libraries in C, C++, Java, Go, Node.js, Python, Ruby, Objective-C, PHP and C#.
|
- [GRPC](http://www.grpc.io/) - A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. Libraries in C, C++, Java, Go, Node.js, Python, Ruby, Objective-C, PHP and C#.
|
||||||
- [Hprose](http://github.com/hprose) - A very newbility RPC Library, support 25+ languages now.
|
- [Hprose](http://github.com/hprose) - A very newbility RPC Library, support 25+ languages now.
|
||||||
|
|
||||||
|
@ -130,6 +134,11 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Served](https://github.com/datasift/served) - C++ library for building high-performance RESTful web servers.
|
- [Served](https://github.com/datasift/served) - C++ library for building high-performance RESTful web servers.
|
||||||
- [ULib](https://github.com/stefanocasazza/ULib) - Highly optimized class framework for writing C++ applications.
|
- [ULib](https://github.com/stefanocasazza/ULib) - Highly optimized class framework for writing C++ applications.
|
||||||
|
|
||||||
|
### CSharp
|
||||||
|
|
||||||
|
- [Akka.NET](http://getakka.net/) - Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.
|
||||||
|
- [Nancy](http://nancyfx.org/) - Lightweight web framework.
|
||||||
|
|
||||||
### D
|
### D
|
||||||
|
|
||||||
- [Vibe.d](http://vibed.org/) - Asynchronous I/O that doesn’t get in your way, written in D.
|
- [Vibe.d](http://vibed.org/) - Asynchronous I/O that doesn’t get in your way, written in D.
|
||||||
|
@ -149,9 +158,8 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
|
|
||||||
### Go
|
### Go
|
||||||
|
|
||||||
- [Crudapi](https://github.com/sauerbraten/crudapi) - Go implementation of a RESTful JSON API exposing CRUD functionality relying on a custom storage.
|
|
||||||
- [Echo](https://echo.labstack.com/) - Fast and unfancy HTTP server framework for Go. Up to 10x faster than the rest.
|
- [Echo](https://echo.labstack.com/) - Fast and unfancy HTTP server framework for Go. Up to 10x faster than the rest.
|
||||||
- [Gin](http://gin-gonic.github.io/gin/) - Web framework written in Golang.
|
- [Gizmo](https://github.com/nytimes/gizmo) - Microservices toolkit.
|
||||||
- [Goa](https://github.com/goadesign/goa) - Design-based HTTP microservices in Go.
|
- [Goa](https://github.com/goadesign/goa) - Design-based HTTP microservices in Go.
|
||||||
- [Gocraft](https://github.com/gocraft/web) - A toolkit for building web apps. Includes routing, middleware stacks, logging and monitoring.
|
- [Gocraft](https://github.com/gocraft/web) - A toolkit for building web apps. Includes routing, middleware stacks, logging and monitoring.
|
||||||
- [Goji](https://goji.io/) - Minimalistic and flexible request multiplexer for Go.
|
- [Goji](https://goji.io/) - Minimalistic and flexible request multiplexer for Go.
|
||||||
|
@ -161,11 +169,11 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Gorilla](http://www.gorillatoolkit.org/) - Web toolkit for the Go programming language.
|
- [Gorilla](http://www.gorillatoolkit.org/) - Web toolkit for the Go programming language.
|
||||||
- [Kite](https://github.com/koding/kite) - Microservices framework in Go.
|
- [Kite](https://github.com/koding/kite) - Microservices framework in Go.
|
||||||
- [Libchan](https://github.com/docker/libchan) - Ultra-lightweight networking library which lets network services communicate in the same way that goroutines communicate using channels.
|
- [Libchan](https://github.com/docker/libchan) - Ultra-lightweight networking library which lets network services communicate in the same way that goroutines communicate using channels.
|
||||||
- [Macaron](https://go-macaron.com/) - Modular web framework in Go.
|
|
||||||
- [Micro](https://github.com/micro/micro) - A microservices toolchain in Go.
|
- [Micro](https://github.com/micro/micro) - A microservices toolchain in Go.
|
||||||
|
- [Nano](https://github.com/pasztorpisti/nano) - A minimalistic, transport-agnostic and testing-friendly microservice framework.
|
||||||
- [Negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang.
|
- [Negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang.
|
||||||
- [Neutrino](https://github.com/neutrinoapp/neutrino) - Realtime/REST backend service.
|
- [Neutrino](https://github.com/neutrinoapp/neutrino) - Realtime/REST backend service.
|
||||||
- [RPCX](https://github.com/smallnest/rpcx) - A distributed RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan.
|
- [RPCX](https://github.com/smallnest/rpcx) - A distributed RPC service framework based on NET/RPC like Alibaba Dubbo and Weibo Motan.
|
||||||
- [Sleepy](https://github.com/dougblack/sleepy) - REST for go.
|
- [Sleepy](https://github.com/dougblack/sleepy) - REST for go.
|
||||||
- [Vamp-router](https://github.com/magneticio/vamp-router) - Service routing, load balancing and filtering application.
|
- [Vamp-router](https://github.com/magneticio/vamp-router) - Service routing, load balancing and filtering application.
|
||||||
- [Zerver](https://github.com/cosiner/zerver) - RESTful API framework.
|
- [Zerver](https://github.com/cosiner/zerver) - RESTful API framework.
|
||||||
|
@ -191,13 +199,15 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
#### Java
|
#### Java
|
||||||
|
|
||||||
- [Airlift](https://github.com/airlift/airlift) - Framework for building REST services in Java.
|
- [Airlift](https://github.com/airlift/airlift) - Framework for building REST services in Java.
|
||||||
- [Disruptor](https://github.com/LMAX-Exchange/disruptor) - A High Performance Inter-Thread Messaging Library.
|
- [Disruptor](https://github.com/LMAX-Exchange/disruptor) - High-performance inter-thread messaging library.
|
||||||
- [Dropwizard](https://dropwizard.github.io/) - Java framework for developing ops-friendly, high-performance, RESTful web services.
|
- [Dropwizard](https://dropwizard.github.io/) - Java framework for developing ops-friendly, high-performance, RESTful web services.
|
||||||
- [Jersey](https://jersey.java.net/) - RESTful Web Services in Java. JAX-RS (JSR 311 & JSR 339) Reference Implementation.
|
- [HTTP Remoting](https://github.com/palantir/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.
|
||||||
- [MSF4J](https://github.com/wso2/msf4j) - High throughput & low memory footprint Java microservices framework.
|
- [Jersey](https://jersey.java.net/) - RESTful services in Java. JAX-RS reference implementation.
|
||||||
|
- [MSF4J](htps://github.com/wso2/msf4j) - High throughput & low memory footprint Java microservices framework.
|
||||||
- [QBit](https://github.com/advantageous/qbit) - Reactive programming library for building microservices.
|
- [QBit](https://github.com/advantageous/qbit) - Reactive programming library for building microservices.
|
||||||
- [Ratpack](https://ratpack.io/) - Set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. specific support for the Groovy language is provided.
|
- [Ratpack](https://ratpack.io/) - Set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. specific support for the Groovy language is provided.
|
||||||
- [Restlet](http://restlet.com/) - Helps Java developers build web APIs that follow the REST architecture style.
|
- [Restlet](http://restlet.com/) - Helps Java developers build web APIs that follow the REST architecture style.
|
||||||
|
- [Spark](http://sparkjava.com/) - A micro-framework for creating web applications in Java 8 with minimal effort.
|
||||||
- [Spring Boot](http://projects.spring.io/spring-boot/) - Makes it easy to create stand-alone, production-grade Spring based applications.
|
- [Spring Boot](http://projects.spring.io/spring-boot/) - Makes it easy to create stand-alone, production-grade Spring based applications.
|
||||||
|
|
||||||
#### Scala
|
#### Scala
|
||||||
|
@ -205,6 +215,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Akka HTTP](http://doc.akka.io/docs/akka/current/scala/http) - Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka (will replace Spray).
|
- [Akka HTTP](http://doc.akka.io/docs/akka/current/scala/http) - Open source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka (will replace Spray).
|
||||||
- [Colossus](https://github.com/tumblr/colossus) - I/O and microservice library for Scala.
|
- [Colossus](https://github.com/tumblr/colossus) - I/O and microservice library for Scala.
|
||||||
- [Finatra](http://twitter.github.io/finatra/) - Fast, testable, Scala HTTP services built on Twitter-Server and Finagle.
|
- [Finatra](http://twitter.github.io/finatra/) - Fast, testable, Scala HTTP services built on Twitter-Server and Finagle.
|
||||||
|
- [Http4s](http://http4s.org/) - A minimal, idiomatic Scala interface for HTTP
|
||||||
- [Play](https://www.playframework.com/) - The high velocity web framework for Java and Scala.
|
- [Play](https://www.playframework.com/) - The high velocity web framework for Java and Scala.
|
||||||
- [Scalatra](http://www.scalatra.org/) - Simple, accessible and free web micro-framework.
|
- [Scalatra](http://www.scalatra.org/) - Simple, accessible and free web micro-framework.
|
||||||
- [Skinny Micro](https://github.com/skinny-framework/skinny-micro) - Micro-web framework to build servlet applications in Scala.
|
- [Skinny Micro](https://github.com/skinny-framework/skinny-micro) - Micro-web framework to build servlet applications in Scala.
|
||||||
|
@ -241,12 +252,11 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
|
|
||||||
### Python
|
### Python
|
||||||
|
|
||||||
- [Celery](http://www.celeryproject.org) - An asynchronous task queue/job queue based on distributed message passing. Focused on real-time operation and supports scheduling.
|
|
||||||
- [Flask](http://flask.pocoo.org/) - Python framework for microservices based on Werkzeug and Jinja 2.
|
- [Flask](http://flask.pocoo.org/) - Python framework for microservices based on Werkzeug and Jinja 2.
|
||||||
- [Nameko](https://github.com/onefinestay/nameko) - Python framework for building microservices.
|
- [Nameko](https://github.com/onefinestay/nameko) - Python framework for building microservices.
|
||||||
- [Tornado](http://www.tornadoweb.org/) - Web framework and asynchronous networking library.
|
- [Tornado](http://www.tornadoweb.org/) - Web framework and asynchronous networking library.
|
||||||
- [Twisted](https://twistedmatrix.com/trac/) - An Event-Drive Network Programming Engine.
|
- [Twisted](https://twistedmatrix.com/trac/) - Event-driven network programming engine.
|
||||||
- [web.py](http://webpy.org/) - Minimalist web framework for Python.
|
- [Web.py](https://github.com/webpy/webpy/) - Minimalist web framework for Python.
|
||||||
|
|
||||||
### Ruby
|
### Ruby
|
||||||
|
|
||||||
|
@ -258,6 +268,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
|
|
||||||
### API Gateways / Edge Services
|
### API Gateways / Edge Services
|
||||||
|
|
||||||
|
- [Caddy](https://caddyserver.com/) - Extensible HTTP/2 web server with automatic HTTPS.
|
||||||
- [Camel](http://camel.apache.org/) - Empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based fluent API, Spring or Blueprint XML configuration files, and a Scala DSL.
|
- [Camel](http://camel.apache.org/) - Empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based fluent API, Spring or Blueprint XML configuration files, and a Scala DSL.
|
||||||
- [Fabio](https://github.com/eBay/fabio) - A fast, modern, zero-conf load balancing HTTP/S router for deploying microservices managed by Consul.
|
- [Fabio](https://github.com/eBay/fabio) - A fast, modern, zero-conf load balancing HTTP/S router for deploying microservices managed by Consul.
|
||||||
- [HAProxy](http://www.haproxy.org/) - Reliable, high Performance TCP/HTTP load balancer.
|
- [HAProxy](http://www.haproxy.org/) - Reliable, high Performance TCP/HTTP load balancer.
|
||||||
|
@ -272,6 +283,11 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Vulcand](https://github.com/vulcand/vulcand) - Programmatic load balancer backed by Etcd.
|
- [Vulcand](https://github.com/vulcand/vulcand) - Programmatic load balancer backed by Etcd.
|
||||||
- [Zuul](https://github.com/Netflix/zuul) - An edge service that provides dynamic routing, monitoring, resiliency, security, and more.
|
- [Zuul](https://github.com/Netflix/zuul) - An edge service that provides dynamic routing, monitoring, resiliency, security, and more.
|
||||||
|
|
||||||
|
### Coordination and Governance
|
||||||
|
|
||||||
|
- [AWS Step Functions](https://aws.amazon.com/step-functions/) :small_orange_diamond: <sup>commercial</sup> - Coordinate the components of distributed applications and microservices using visual workflows.
|
||||||
|
- [Azuqua](https://azuqua.com/) :small_orange_diamond: <sup>commercial</sup> - Orchestration and governance platform for distributed applications.
|
||||||
|
|
||||||
### Configuration and Discovery
|
### Configuration and Discovery
|
||||||
|
|
||||||
- [Consul](https://www.consul.io/) - Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.
|
- [Consul](https://www.consul.io/) - Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware.
|
||||||
|
@ -280,7 +296,8 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
- [Doozer](https://github.com/ha/doozerd) - Highly-available, completely consistent store for small amounts of data. When the data changes, it can notify connected clients immediately.
|
- [Doozer](https://github.com/ha/doozerd) - Highly-available, completely consistent store for small amounts of data. When the data changes, it can notify connected clients immediately.
|
||||||
- [Etcd](https://github.com/coreos/etcd) - Highly-available key-value store for shared configuration and service discovery.
|
- [Etcd](https://github.com/coreos/etcd) - Highly-available key-value store for shared configuration and service discovery.
|
||||||
- [Eureka](https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance) - 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.
|
- [Eureka](https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance) - 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.
|
||||||
- [Registrator](https://github.com/gliderlabs/registrator) - Service registry bridge for Docker. Supports pluggable service registries, which currently includes Consul, etcd and SkyDNS 2.
|
- [Microphone](https://github.com/rogeralsing/Microphone) - Lightweight .NET framework to run self hosting REST services using Web Api or NancyFx on top of a Consul or Etcd cluster.
|
||||||
|
- [Registrator](https://github.com/gliderlabs/registrator) - Service registry bridge for Docker. Supports pluggable service registries, which currently includes Consul, Etcd and SkyDNS 2.
|
||||||
- [Shaman](https://github.com/nanopack/shaman) - Small, lightweight, api-driven DNS server.
|
- [Shaman](https://github.com/nanopack/shaman) - Small, lightweight, api-driven DNS server.
|
||||||
- [SkyDNS](https://github.com/skynetservices/skydns) - Distributed service for announcement and discovery of services built on top of etcd. It utilizes DNS queries to discover available services.
|
- [SkyDNS](https://github.com/skynetservices/skydns) - Distributed service for announcement and discovery of services built on top of etcd. It utilizes DNS queries to discover available services.
|
||||||
- [SmartStack](https://github.com/airbnb/smartstack-cookbook) - Airbnb's automated service discovery and registration framework.
|
- [SmartStack](https://github.com/airbnb/smartstack-cookbook) - Airbnb's automated service discovery and registration framework.
|
||||||
|
@ -302,6 +319,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
|
|
||||||
### Job Schedulers / Workload Automation
|
### Job Schedulers / Workload Automation
|
||||||
|
|
||||||
|
- [Celery](http://www.celeryproject.org) - Asynchronous task queue/job queue based on distributed message passing. Focused on real-time operation and supports scheduling.
|
||||||
- [Chronos](https://github.com/mesos/chronos) - Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules.
|
- [Chronos](https://github.com/mesos/chronos) - Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules.
|
||||||
- [Fenzo](https://github.com/Netflix/Fenzo) - Extensible scheduler for Mesos frameworks.
|
- [Fenzo](https://github.com/Netflix/Fenzo) - Extensible scheduler for Mesos frameworks.
|
||||||
- [JobScheduler](http://www.sos-berlin.com/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.
|
- [JobScheduler](http://www.sos-berlin.com/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.
|
||||||
|
@ -369,6 +387,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
|
|
||||||
- [Aerospike](http://www.aerospike.com/) - High performance NoSQL database delivering speed at scale.
|
- [Aerospike](http://www.aerospike.com/) - High performance NoSQL database delivering speed at scale.
|
||||||
- [ArangoDB](https://www.arangodb.com/) - A distributed free and open source database with a flexible data model for documents, graphs, and key-values.
|
- [ArangoDB](https://www.arangodb.com/) - A distributed free and open source database with a flexible data model for documents, graphs, and key-values.
|
||||||
|
- [AtlasDB](https://github.com/palantir/atlasdb) - Transactional layer on top of a key value store.
|
||||||
- [ClickHouse](https://clickhouse.yandex/) - Column-oriented database management system that allows generating analytical data reports in real time.
|
- [ClickHouse](https://clickhouse.yandex/) - Column-oriented database management system that allows generating analytical data reports in real time.
|
||||||
- [Couchbase](http://www.couchbase.com/) - A distributed database engineered for performance, scalability, and simplified administration.
|
- [Couchbase](http://www.couchbase.com/) - A distributed database engineered for performance, scalability, and simplified administration.
|
||||||
- [Crate](https://crate.io/) - Scalable SQL database with the NoSQL goodies.
|
- [Crate](https://crate.io/) - Scalable SQL database with the NoSQL goodies.
|
||||||
|
@ -387,8 +406,7 @@ A curated list of Microservice Architecture related principles and technologies.
|
||||||
|
|
||||||
### Reactivity
|
### Reactivity
|
||||||
|
|
||||||
- [Reactor.io](http://projectreactor.io) - A second-generation Reactive library for building non-blocking applications on
|
- [Reactor.io](http://projectreactor.io) - A second-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification.
|
||||||
the JVM based on the Reactive Streams Specification.
|
|
||||||
- [Reactive Kafka](https://github.com/softwaremill/reactive-kafka) - Reactive Streams API for Apache Kafka.
|
- [Reactive Kafka](https://github.com/softwaremill/reactive-kafka) - Reactive Streams API for Apache Kafka.
|
||||||
- [ReactiveX](http://reactivex.io/) - API for asynchronous programming with observable streams. Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others.
|
- [ReactiveX](http://reactivex.io/) - API for asynchronous programming with observable streams. Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others.
|
||||||
- [Simple React](https://github.com/aol/simple-react) - Powerful future streams & asynchronous data structures for Java 8.
|
- [Simple React](https://github.com/aol/simple-react) - Powerful future streams & asynchronous data structures for Java 8.
|
||||||
|
@ -406,6 +424,7 @@ the JVM based on the Reactive Streams Specification.
|
||||||
|
|
||||||
- [Mitmproxy](https://mitmproxy.org/) - An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.
|
- [Mitmproxy](https://mitmproxy.org/) - An interactive console program that allows traffic flows to be intercepted, inspected, modified and replayed.
|
||||||
- [Mountebank](http://www.mbtest.org/) - Cross-platform, multi-protocol test doubles over the wire.
|
- [Mountebank](http://www.mbtest.org/) - Cross-platform, multi-protocol test doubles over the wire.
|
||||||
|
- [Spring Cloud Contract](https://cloud.spring.io/spring-cloud-contract/) - TDD to the level of software architecture.
|
||||||
- [VCR](https://github.com/vcr/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.
|
- [VCR](https://github.com/vcr/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](https://github.com/epam/Wilma) - Combined HTTP/HTTPS service stub and transparent proxy solution.
|
- [Wilma](https://github.com/epam/Wilma) - Combined HTTP/HTTPS service stub and transparent proxy solution.
|
||||||
- [WireMock](http://wiremock.org/) - 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.
|
- [WireMock](http://wiremock.org/) - 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.
|
||||||
|
@ -416,8 +435,7 @@ the JVM based on the Reactive Streams Specification.
|
||||||
- [Collectd](https://collectd.org/) - The system statistics collection daemon.
|
- [Collectd](https://collectd.org/) - The system statistics collection daemon.
|
||||||
- [Elastalert](https://github.com/yelp/elastalert) - Easy & flexible alerting for Elasticsearch.
|
- [Elastalert](https://github.com/yelp/elastalert) - Easy & flexible alerting for Elasticsearch.
|
||||||
- [Ganglia](http://ganglia.info/) - A scalable distributed monitoring system for high-performance computing systems such as clusters and grids.
|
- [Ganglia](http://ganglia.info/) - A scalable distributed monitoring system for high-performance computing systems such as clusters and grids.
|
||||||
- [Grafana](http://grafana.org/) - An open source, feature rich metrics dashboard and graph editor for
|
- [Grafana](http://grafana.org/) - An open source, feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB.
|
||||||
Graphite, InfluxDB & OpenTSDB.
|
|
||||||
- [Graphite](http://graphite.wikidot.com/) - Scalable realtime graphing.
|
- [Graphite](http://graphite.wikidot.com/) - Scalable realtime graphing.
|
||||||
- [Parallec](https://github.com/eBay/parallec) - Fast parallel asynchronous HTTP/SSH/TCP/Ping client Java library.
|
- [Parallec](https://github.com/eBay/parallec) - Fast parallel asynchronous HTTP/SSH/TCP/Ping client Java library.
|
||||||
- [Prometheus](http://prometheus.io/) - An open source service monitoring system and time series database.
|
- [Prometheus](http://prometheus.io/) - An open source service monitoring system and time series database.
|
||||||
|
@ -467,11 +485,10 @@ Graphite, InfluxDB & OpenTSDB.
|
||||||
- [AWS CodeDeploy](http://aws.amazon.com/codedeploy/) - Deployment service that enables developers to automate the deployment of applications to instances and to update the applications as required.
|
- [AWS CodeDeploy](http://aws.amazon.com/codedeploy/) - Deployment service that enables developers to automate the deployment of applications to instances and to update the applications as required.
|
||||||
- [AWS OpsWorks](http://aws.amazon.com/opsworks/) - Provides a simple and flexible way to create and manage stacks and applications.
|
- [AWS OpsWorks](http://aws.amazon.com/opsworks/) - Provides a simple and flexible way to create and manage stacks and applications.
|
||||||
- [Buddy](https://buddy.works/) - The Git and Continuous Delivery Platform.
|
- [Buddy](https://buddy.works/) - The Git and Continuous Delivery Platform.
|
||||||
- [Codeship](https://codeship.com/) - Hosted continuous delivery platform that takes care
|
- [Codeship](https://codeship.com/) - Hosted continuous delivery platform that takes care of the testing and deployment process.
|
||||||
of the testing and deployment process.
|
- [Semaphore](https://semaphoreci.com/) - Continuous integration and deployment service with native Docker support.
|
||||||
- [Travis](https://travis-ci.org/) - Continuous integration and deployment service.
|
- [Travis](https://travis-ci.org/) - Continuous integration and deployment service.
|
||||||
|
|
||||||
|
|
||||||
### Lightweight
|
### Lightweight
|
||||||
|
|
||||||
- [Capsule](https://github.com/puniverse/capsule) - Packaging and deployment tool for JVM applications.
|
- [Capsule](https://github.com/puniverse/capsule) - Packaging and deployment tool for JVM applications.
|
||||||
|
@ -589,28 +606,33 @@ of the testing and deployment process.
|
||||||
- [Monolith first](http://martinfowler.com/bliki/MonolithFirst.html)
|
- [Monolith first](http://martinfowler.com/bliki/MonolithFirst.html)
|
||||||
- [Scaling microservices at Gilt with Scala, Docker and AWS](http://www.infoq.com/news/2015/04/scaling-microservices-gilt)
|
- [Scaling microservices at Gilt with Scala, Docker and AWS](http://www.infoq.com/news/2015/04/scaling-microservices-gilt)
|
||||||
|
|
||||||
|
## Enterprise & Verticals
|
||||||
|
|
||||||
|
- [Interact](https://interact.io/) - CRM microservices for rapid delivery of tailored solutions.
|
||||||
|
- [Predix](https://predix.io/) - Industrial microservices platform.
|
||||||
|
|
||||||
## Theory
|
## Theory
|
||||||
|
|
||||||
### Articles & Papers
|
### Articles & Papers
|
||||||
|
|
||||||
- [AKF Scale Cube](http://akfpartners.com/techblog/2008/05/08/splitting-applications-or-services-for-scale/) - Model depicting the dimensions to scale a service.
|
- [AKF Scale Cube](http://akfpartners.com/techblog/2008/05/08/splitting-applications-or-services-for-scale/) - Model depicting the dimensions to scale a service.
|
||||||
- [CALM](http://db.cs.berkeley.edu/papers/cidr11-bloom.pdf) - Consistency as logical monotonicity. :small_orange_diamond:<sup>PDF</sup>
|
- [CALM](http://db.cs.berkeley.edu/papers/cidr11-bloom.pdf) :small_orange_diamond:<sup>PDF</sup> - Consistency as logical monotonicity.
|
||||||
- [Canary Release](http://martinfowler.com/bliki/CanaryRelease.html) - Technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.
|
- [Canary Release](http://martinfowler.com/bliki/CanaryRelease.html) - Technique to reduce the risk of introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.
|
||||||
- [CAP Theorem](http://blog.thislongrun.com/2015/03/the-cap-theorem-series.html) - States that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees: Consistency, Availability and Partition tolerance.
|
- [CAP Theorem](http://blog.thislongrun.com/2015/03/the-cap-theorem-series.html) - 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](https://msdn.microsoft.com/en-us/library/dn600223.aspx) - Contains twenty-four design patterns that are useful in cloud-hosted applications. Includes: Circuit Breaker, Competing Consumers, CQRS, Event Sourcing, Gatekeeper, Cache-Aside, etc.
|
- [Cloud Design Patterns](https://msdn.microsoft.com/en-us/library/dn600223.aspx) - 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](http://alistair.cockburn.us/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.
|
- [Hexagonal Architecture](http://alistair.cockburn.us/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.
|
||||||
- [Microservice Architecture](http://martinfowler.com/articles/microservices.html) - Particular way of designing software applications as suites of independently deployable services.
|
- [Microservice Architecture](http://martinfowler.com/articles/microservices.html) - Particular way of designing software applications as suites of independently deployable services.
|
||||||
- [Microservices and SOA](http://www.oracle.com/technetwork/issue-archive/2015/15-mar/o25architect-2458702.html) - Similarities, differences, and where we go from here.
|
- [Microservices and SOA](http://www.oracle.com/technetwork/issue-archive/2015/15-mar/o25architect-2458702.html) - Similarities, differences, and where we go from here.
|
||||||
|
- [Microservices – Please, don’t](http://basho.com/posts/technical/microservices-please-dont/) - Critical advice about some problems regarding a microservices approach.
|
||||||
- [Microservices RefCard](https://dzone.com/refcardz/getting-started-with-microservices) - Getting started with microservices.
|
- [Microservices RefCard](https://dzone.com/refcardz/getting-started-with-microservices) - Getting started with microservices.
|
||||||
- [Microservices Trade-Offs](http://martinfowler.com/articles/microservice-trade-offs.html) - Guide to ponder costs and benefits of the mircoservices architectural style.
|
- [Microservices Trade-Offs](http://martinfowler.com/articles/microservice-trade-offs.html) - Guide to ponder costs and benefits of the mircoservices architectural style.
|
||||||
- [Reactive Manifesto](http://www.reactivemanifesto.org/) - Reactive systems definition.
|
- [Reactive Manifesto](http://www.reactivemanifesto.org/) - Reactive systems definition.
|
||||||
- [Reactive Streams](http://www.reactive-streams.org/) - Initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.
|
- [Reactive Streams](http://www.reactive-streams.org/) - Initiative to provide a standard for asynchronous stream processing with non-blocking back pressure.
|
||||||
- [ROCAS](http://resources.1060research.com/docs/2015/Resource-Oriented-Computing-Adaptive-Systems-ROCAS-1.2.pdf) - Resource Oriented Computing for Adaptive Systems. :small_orange_diamond:<sup>PDF</sup>
|
- [ROCAS](http://resources.1060research.com/docs/2015/Resource-Oriented-Computing-Adaptive-Systems-ROCAS-1.2.pdf) :small_orange_diamond:<sup>PDF</sup> - Resource Oriented Computing for Adaptive Systems.
|
||||||
- [SECO](http://ceur-ws.org/Vol-746/IWSECO2011-6-DengYu.pdf) - Understanding software ecosystems:
|
- [SECO](http://ceur-ws.org/Vol-746/IWSECO2011-6-DengYu.pdf) :small_orange_diamond:<sup>PDF</sup> - Understanding software ecosystems: a strategic modeling approach.
|
||||||
a strategic modeling approach. :small_orange_diamond:<sup>PDF</sup>
|
|
||||||
- [Service Discovery in a Microservice Architecture](https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/) - Overview of discovery and registration patterns.
|
- [Service Discovery in a Microservice Architecture](https://www.nginx.com/blog/service-discovery-in-a-microservices-architecture/) - Overview of discovery and registration patterns.
|
||||||
- [Testing Strategies in a Microservice Architecture](http://martinfowler.com/articles/microservice-testing/) - Approaches for managing the additional testing complexity of multiple independently deployable components.
|
- [Testing Strategies in a Microservice Architecture](http://martinfowler.com/articles/microservice-testing/) - Approaches for managing the additional testing complexity of multiple independently deployable components.
|
||||||
- [Your Server as a Function](http://monkey.org/~marius/funsrv.pdf) - Describes three abstractions which combine to present a powerful programming model for building safe, modular, and efficient server software: Composable futures, services and filters. :small_orange_diamond:<sup>PDF</sup>
|
- [Your Server as a Function](http://monkey.org/~marius/funsrv.pdf) :small_orange_diamond:<sup>PDF</sup> - Describes three abstractions which combine to present a powerful programming model for building safe, modular, and efficient server software: Composable futures, services and filters.
|
||||||
|
|
||||||
### Talks
|
### Talks
|
||||||
|
|
||||||
|
@ -625,13 +647,14 @@ a strategic modeling approach. :small_orange_diamond:<sup>PDF</sup>
|
||||||
- [Microservices without the Servers](https://aws.amazon.com/blogs/compute/microservices-without-the-servers/) - Step by step demo-driven talk about serverless architecture.
|
- [Microservices without the Servers](https://aws.amazon.com/blogs/compute/microservices-without-the-servers/) - Step by step demo-driven talk about serverless architecture.
|
||||||
- Microservices in C#: [Part 1](http://insidethecpu.com/2015/07/17/microservices-in-c-part-1-building-and-testing/), [Part 2](http://insidethecpu.com/2015/07/31/microservices-in-c-part-2-consistent-message-delivery/), [Part 3](http://insidethecpu.com/2015/08/14/microservices-in-c-part-3-queue-pool-sizing/), [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 in C#: [Part 1](http://insidethecpu.com/2015/07/17/microservices-in-c-part-1-building-and-testing/), [Part 2](http://insidethecpu.com/2015/07/31/microservices-in-c-part-2-consistent-message-delivery/), [Part 3](http://insidethecpu.com/2015/08/14/microservices-in-c-part-3-queue-pool-sizing/), [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](http://brunorocha.org/python/microservices-with-python-rabbitmq-and-nameko.html)
|
- [Microservices with Python, RabbitMQ and Nameko](http://brunorocha.org/python/microservices-with-python-rabbitmq-and-nameko.html)
|
||||||
|
- [Reactive Microservices](https://github.com/theiterators/reactive-microservices) - Project showcasing different microservice communication styles using Scala, Akka, Play and other tools from Scala ecosystem.
|
||||||
- [Using Packer and Ansible to build immutable infrastructure](https://blog.codeship.com/packer-ansible/)
|
- [Using Packer and Ansible to build immutable infrastructure](https://blog.codeship.com/packer-ansible/)
|
||||||
- [Petstore Example in Light Java](https://networknt.github.io/light-java/example/petstore/) - Petstore API from OpenAPI specification to production.
|
- [Petstore Example in Light Java](https://networknt.github.io/light-java/example/petstore/) - Petstore API from OpenAPI specification to production.
|
||||||
- [Developing Microservices in Light Java](https://networknt.github.io/light-java/tutorials/microservices/) - A step by step guide to build microservices with security, logging, metrics etc. and deployed with docker.
|
- [Developing Microservices in Light Java](https://networknt.github.io/light-java/tutorials/microservices/) - A step by step guide to build microservices with security, logging, metrics etc. and deployed with docker.
|
||||||
|
|
||||||
### Books
|
### Books
|
||||||
|
|
||||||
- [Building Microservices](https://www.nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf) - Building Microservices: Designing Fine-grained Systems. Sam Newman. Preview Edition. :small_orange_diamond:<sup>PDF</sup>
|
- [Building Microservices](https://www.nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf) :small_orange_diamond:<sup>PDF</sup> - Building Microservices: Designing Fine-grained Systems. Sam Newman. Preview Edition.
|
||||||
- [Microservice Architecture: Aligning Principles, Practices, and Culture](http://shop.oreilly.com/product/0636920050308.do) - Practical advice for the strategy and design of Microservices.
|
- [Microservice Architecture: Aligning Principles, Practices, and Culture](http://shop.oreilly.com/product/0636920050308.do) - Practical advice for the strategy and design of Microservices.
|
||||||
- [Microservices from Theory to Practice](http://www.redbooks.ibm.com/abstracts/sg248275.html?Open) - Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach. IBM Redbooks publication.
|
- [Microservices from Theory to Practice](http://www.redbooks.ibm.com/abstracts/sg248275.html?Open) - Microservices from Theory to Practice: Creating Applications in IBM Bluemix Using the Microservices Approach. IBM Redbooks publication.
|
||||||
- [Migrating to Cloud Native Application Architectures](http://pivotal.io/platform/migrating-to-cloud-native-application-architectures-ebook) - This O’Reilly report defines the unique characteristics of cloud native application architectures such as microservices and twelve-factor applications.
|
- [Migrating to Cloud Native Application Architectures](http://pivotal.io/platform/migrating-to-cloud-native-application-architectures-ebook) - This O’Reilly report defines the unique characteristics of cloud native application architectures such as microservices and twelve-factor applications.
|
||||||
|
|
Loading…
Reference in a new issue