Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 43 lines (23 sloc) 1.703 kb
beccb83 @bfirsh Updated readme
bfirsh authored
1 Mantrid
2 =======
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
3
f5549a1 @bfirsh Shameless plug
bfirsh authored
4 Mantrid is the HTTP load balancer used for [Epio](https://www.ep.io). It is designed with high availability and simplicity in mind: it is configured at runtime with JSON over HTTP and can temporarily hold open connections while backend servers restart. It monitors bandwidth and connection statistics and is ideal for serving large numbers of hostnames.
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
5
beccb83 @bfirsh Updated readme
bfirsh authored
6 It trades some raw speed for flexibility, but is still designed to be fast. Its aim is to have latency of no more than 10ms, and have no more than a 10% reduction in throughput.
fe67f7f @andrewgodwin More setup polishing
andrewgodwin authored
7
beccb83 @bfirsh Updated readme
bfirsh authored
8 Compatibility
9 -------------
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
10
beccb83 @bfirsh Updated readme
bfirsh authored
11 Mantrid is designed to work with Python 2.6 or 2.7, and requires a Python implementation that supports greenlets (so either CPython or PyPy 1.7 and up).
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
12
beccb83 @bfirsh Updated readme
bfirsh authored
13 Quick start
14 -----------
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
15
beccb83 @bfirsh Updated readme
bfirsh authored
16 Install Mantrid:
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
17
beccb83 @bfirsh Updated readme
bfirsh authored
18 $ sudo python setup.py install
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
19
20 Launch Mantrid with the default settings (listening on port 80, management on 8042):
21
beccb83 @bfirsh Updated readme
bfirsh authored
22 $ sudo mantrid
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
23
24 Add a host:
25
beccb83 @bfirsh Updated readme
bfirsh authored
26 $ mantrid-client set localhost static false type=test
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
27
28 Then visit http://localhost/ to see the test page.
29
30
beccb83 @bfirsh Updated readme
bfirsh authored
31 Configuration
32 -------------
33
a7b67e7 @andrewgodwin Update blurb to mention state file
andrewgodwin authored
34 Mantrid is partially configured using a small configuration file (`/etc/mantrid/mantrid.conf`) which sets up basic things like ports to listen on. The hostnames and load balancing rules are configured at runtime using a REST API, and persisted to a state file on disk so they survive restarts.
beccb83 @bfirsh Updated readme
bfirsh authored
35
36 A command-line interface, `mantrid-client`, ships with Mantrid to make simple interactions with the API easier.
37
38 Contributing
39 ------------
40
a3b9e64 @andrewgodwin Direct people to #epio for contribution chat.
andrewgodwin authored
41 Mantrid is released under a BSD (3-clause) license. Contributions are very welcome - come and chat with us in #epio on freenode! If you discover a security issue, please email <security@ep.io>.
2269e3a @andrewgodwin A little bit of necessary initial-release polish.
andrewgodwin authored
42
Something went wrong with that request. Please try again.