Nuxeo Edge Cache allows you to cache binaries from your Nuxeo server on an Edge Cache server closer to your clients. It can act like a Content Delivery Network, to improve the speed of your downloads.
Nuxeo Edge Cache is composed by one Nuxeo addon to be installed on the Nuxeo server, and agents to be installed on a computer that will serve as the Edge Cache server. These agents are available with installers for Windows and OS X, or as a Docker image.
Installation and Configuration
Nuxeo Addon Installation
First install the Nuxeo Edge Cache addon, available from the Nuxeo Marketplace.
This addon requires no specific installation steps. It can be installed like any other package with nuxeoctl command line or from the Marketplace.
Nuxeo Edge Cache does not require any configuration on the Nuxeo server after its installation.
Agent Installation and Configuration
- Download and install the relevant agent for your system. They are available from the Marketplace Edge Cache page.
- Launch the Edge Cache agent and set it up.
- Windows: follow the instructions displayed.
- Linux: Use the command line (see the Command Line section below) to set up the Docker image.
Supported OS
- Debian 8.0 Jessie
- Ubuntu Xenial Xerus 16.04
- Windows Server 2016
Command Line
The table below shows the available parameters.
Command | Parameters | Default Value | Description |
---|---|---|---|
default |
GUI mode | ||
console |
Console mode | ||
--port |
The port to bind | ||
--ssl |
Activates SSL encryption on listening socket | ||
--ssl-key |
The SSL Key to use | ||
--ssl-certificate |
The SSL Certificate to use | ||
bind |
|||
--ttl |
30 | The Time-To-Live for the Edge Cache server. See the TTL section below |
|
--folder |
/var/lib/nuxeo/edge/ |
The folder to use for cache storage | |
--size-limit |
0 | The size limit in Gb for this binding. 0 means unlimited. | |
--ips |
The IPs to redirect to this Edge Cache Server. See the IPs section below. |
||
--server-url |
The Nuxeo server to connect to | ||
--username |
The Nuxeo administrator user | ||
--password |
The Nuxeo administrator password | ||
--edge-host |
The hostname or IP to this Edge Cache server | ||
name |
The name of the connection | ||
unbind |
Unbinds a Nuxeo server from the Edge Cache server | ||
name |
The name of the Nuxeo server connection to unbind | ||
list |
Lists all the defined bindings |
IPs
When you connect to your Nuxeo server for download it will check the source IP that does the request. If the source IP belongs to a defined Nuxeo Edge Cache and this cache is alive, then it will redirect to it.
You can define the IP sources with the CIDR format:
13.12.0.0/24
will map all the network13.12.0.13
will map just one IP13.12.0.0/24;13.12.1.0/24
will map those two networks
In the example, if three Edge Cache servers are defined on the same source, the closest definition will be evaluated first. If the source IP is 13.12.0.13
then the second proxy will be used first if it is alive, then will fallback to the second, etc.
Time-To-Live (TTL)
The Time-To-Live is defined per Nuxeo server connection. It defines after how many seconds the Edge Cache server will be considered as offline.
The Edge Cache server will initiate a ping on the Nuxeo server every TTL - 2 seconds. For this reason the TTL cannot be inferior to 2 seconds.
Your Nuxeo server will redirect to your Edge Cache if the last ping from the Edge Cache server was received before the TTL expires. If not then it will send the binary itself and will not redirect to the Edge Cache for download, as it is considered dead.
How It Works
Improve Transfer Time
A great addition to cloud deployments or for customers with multiple remote sites, Nuxeo Edge Cache removes the need to download the same file again and again at a given site when several users want to access the same content.
Download Workflow
- The user requests a binary from the Nuxeo server.
- The Nuxeo server verifies if an Edge Cache server is registered on this IP.
- The Nuxeo server redirects to the Edge Cache server registered with this IP.
- The Edge Cache server receives the redirect request with the token.
- The Edge Cache server extracts the encryption key from the token.
- If the Edge Cache server has the binary stored and decrypted with the key, it is sent to the user. Else Edge Cache downloads the encrypted binary from the Nuxeo server and stores it while decrypting and sending it to the user.