Biggest release, introducing Clustering, UDP Simple Proxy Protocol (Cloudflare technique), database code improvement, Redis and Memcache caching (active peer data), and many other code enhancements.
- Added a full Cluster first version through WebSockets
- Option to run the app in Stand-Alone (which is default, as single server), or using the cluster mode
- When set to Master, it still functions as if being Stand-Alone, but with WebSocket support for clustering
- When set to Slave, it will forward all the requests to the Master server to be handled
- Added configurations to be applied in config.toml and the environment variables
- Added statistics, also showing cluster statistics next to the rest. Slave will only show active requests
- WebSocket data can be sent in 3 different ways, but Master server is the leading what way to talk
- This is a very early version of the WebSocket cluster implementation, and needs thorough testing
- Moved the more database engines additions to another version (and MeiliSearch/ElasticSearch support for v4.2)
- Refactored the database engine to be less massive, more logical and less redundancy
- Implemented a Redis and Memcache cache optionally to push peer data to, for usage on websites (without burdening SQL)
- Added UDP support for Cloudflare's "Simple Proxy Protocol" (https://developers.cloudflare.com/spectrum/how-to/enable-proxy-protocol/#enable-simple-proxy-protocol-for-udp)
Be warned, the config.toml and Environment variables have been extended.
The plan is, when we need to introduce new config variables, we will introduce also a new minor version.
Before you update to this version, use torrust-actix --create-config to generate a new configuration file, or check the errors of variable keys missing. You can also check the README.MD file for the new environment key names.
I strongly advice to update to this version, cause of performance tweaks and significant enhancements.