Clusterable http proxy for Amino services
- First, use Amino's
respond()API to create an "app" service.
- Start one or more of those servers.
- Start one or more
- HTTP requests to your gateway servers will pipe to your app servers, auto-loadbalancing between them without any further configuration. Easy!
You'll also need one or more Amino processes implementing the
to provide an "app" service (or a service specified by
See Amino for more information.
$ npm install -g amino-gateway
Also make sure you have an
/etc/amino.conf set up which has the same drivers/options
as used by your app services.
$ amino-gateway [[--port] [--service] [--threads] [--conf]]
Start a gateway with default settings:
Start a gateway on port 8000:
$ amino-gateway -p 8000
Start a gateway to proxy to "foo" service:
$ amino-gateway --service foo
Run on specific number of threads
$ amino-gateway --threads=8
Specify a conf file:
etc/gateway.json for the file's syntax.
$ amino-gateway --conf ../path/to/my/conf.json
The conf file can also have an "amino" key, corresponding to the Amino configuration to
use. This will override
If you'd rather not pass a conf path every time, you can put a system-wide conf at
consistent hash-based sticky
To enable sticky sessions, first add
"stickyEnable": true to your
You may use one of the following methods:
- cookie: Add
"stickyCookie": "your_cookie_name"to maintain sticky sessions based on the value of a cookie.
- IP: Add
"stickyIP": trueto hash sticky sessions based on the remote IP address.
- query string: Add
"stickyQuery": "your_querystring_variable_name"to hash sticky sessions based on the value of a GET variable.