November 6, 2023 in Classic self-hosted technical help
We would like to be able to horizontally scale Invision. Is it possible to run Invision with multiple instances? What state would need to be shared between instances to make this possible?
Invision licenses allow for only 1 installation per license, with the exception of one test instance that must not be used for development. So in order to do this, you would require new licenses for each.
In terms of your second question there, are you referring to login state?
This is one installation, a single URL. However, it would be horizontally scaled to handle load if required. Do your license terms allow for this?
Yes. We're aware of the uploads and datastore directories that would need to be shared. We're not sure how the session (login) state is handled. Is there any other state that would be required.
This is something you would really need to speak to your hosting provider on, to be honest.
Thanks for the rapid replies. We're self hosting the software ourselves but we'd like to confirm that the license terms for Invision support the use-case of horizontally scaling
We've looked at the code and it seems like session state is handled in either Redis or by the Database, so it looks like technically we should be able to horizontally scale. However, we're not sure if there is any other state we would need to be aware of.
The site is licensed to be used on 1 URL. Assuming the URL itself is not changing, and its just load balancing?
That's right it would be load balanced. Do you know if there is any other state that we need to consider? We know of:
Thanks for all of your help,
If you use sticky sessions on your LB (session persistence) you don’t even need Redis. Users remain on their server unless it fails or is removed.
plugins folder would probably be wise too.
Started Tuesday at 01:15 AM
Started 3 hours ago
Started 4 hours ago