<commit_before><!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
**Table of Contents**

- [Overview](#overview)
    - [Features](#features)
        - [Architecture](#architecture)
        - [Control Nodes](#control-nodes)
        - [Compute Nodes](#compute-nodes)
    - [Getting Started](#getting-started)
        - [Software Requirements](#software-requirements)
        - [Deploying on multiple servers](#deploying-on-multiple-servers)
    - [Documentation](#documentation)
    - [Roadmap](#roadmap)
    - [Development](#development)
    - [License](#license)

<!-- markdown-toc end -->
# Overview

Microservices infrastructure is a modern platform for rapidly deploying globally distributed services


## Features

* [Mesos](http://mesos.apache.org) cluster manager for efficient resource isolation and sharing across distributed services
* [Marathon](https://mesosphere.github.io/marathon) for cluster management of long running containerized services
* [Consul](http://consul.io) for service discovery 
* [Docker](http://docker.io) container runtime
* Multi-datacenter support
* High availablity

### Architecture

The base platform contains control nodes that manage the cluster and any number of compute nodes. Containers automatically register themselves into DNS so that other services can locate them.

![Single-DC](docs/_static/single_dc.png)

Once WAN joining is configured, each cluster can locate services in other data centers via DNS or the [Consul API](http://www.consul.io/docs/agent/http.html). 

![Mult-DC](docs/_static/multi_dc.png)

### Control Nodes<commit_msg>README: move TOC back to where it belongs<commit_after># Overview

Microservices infrastructure is a modern platform for rapidly deploying globally distributed services

<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
**Table of Contents**

- [Overview](#overview)
    - [Features](#features)
        - [Architecture](#architecture)
        - [Control Nodes](#control-nodes)
        - [Compute Nodes](#compute-nodes)
    - [Getting Started](#getting-started)
        - [Software Requirements](#software-requirements)
        - [Deploying on multiple servers](#deploying-on-multiple-servers)
    - [Documentation](#documentation)
    - [Roadmap](#roadmap)
    - [Development](#development)
    - [License](#license)

<!-- markdown-toc end -->

## Features

* [Mesos](http://mesos.apache.org) cluster manager for efficient resource isolation and sharing across distributed services
* [Marathon](https://mesosphere.github.io/marathon) for cluster management of long running containerized services
* [Consul](http://consul.io) for service discovery 
* [Docker](http://docker.io) container runtime
* Multi-datacenter support
* High availablity

### Architecture

The base platform contains control nodes that manage the cluster and any number of compute nodes. Containers automatically register themselves into DNS so that other services can locate them.

![Single-DC](docs/_static/single_dc.png)

Once WAN joining is configured, each cluster can locate services in other data centers via DNS or the [Consul API](http://www.consul.io/docs/agent/http.html). 

![Mult-DC](docs/_static/multi_dc.png)

### Control Nodes
{'fraction_non_alphanumeric': 0.11898965307364577, 'fraction_numerical': 0.0, 'mean_word_length': 4.267628205128205, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '34099', 'n_tokens_mistral': 953, 'n_tokens_neox': 863, 'n_words': 276}