Fabric3: Services at Scale

Fabric3 enables high-performance distributed services on a minimal Java container.


Version: 3.0.0
Date: October 6, 2016
License: Apache 2.0

Fabric3 is a Java container architected to provide the features needed to run modern, highly-available distributed services.

Fabric3 enables developers to connect services by wiring them together, either through automatic discovery or explicit configuration. At runtime, Fabric3 will resolve service dependencies by mapping them to specific transport endpoints without the need to use remote communication APIs or hardcode physical network information. The result is a highly performant service fabric that can scale up without the overhead of intermediary middleware.


Quickly publish and wire services as REST resources or using a variety of transport technologies including ZeroMQ, JMS and WS-*.

public class AccountService {
   protected AuditService auditService;

Build high-velocity asynchronous applications by streaming data through local or remote channels. Fabric3 is used by the most demanding low-latency applications to handle millions of messages a second with minimal garbage creation.

public class Processor {
   protected EventStream stream;

   public void process() {
      Event event = ...

Fabric3 employs a containerized architecture to provide maximum flexibility. Plug into Docker and the latest cloud infrastructure such as etcd and Consul for clustering and service discovery. Alternatively, deploy to a traditional datacenter on Tomcat or even run Fabric3 as part of an automated build. All without application changes.


Fabric3 runtimes are custom-built. All features are bundled as extensions to a minimal kernel. Choose only the capabilities required by your application as part of an automated build to deliver an optimized and efficient runtime image.

© 2016 Metaform Systems, Inc.