Jump to content

Multiple frontends like this allowed?


hbarnetworks

Recommended Posts

I was wondering if below was allowed in terms of licensing. And if this is even a good idea. The idea is pretty simple. I want to centralize KVS on a file-share (nvme server). And then mount this share to multiple front-ends. This way I can just scale it easily by just creating a template of the server and deploying it easier.

tmp.png.bef8d4972f34ca0227c7616681ae7007.png

 

Right now I have the below solution where I share TMP - content with the 2nd server. The problem with this solution is that now both servers generate cache files and making design work really annoying because of needed to clear cache :D .

old.png.626a089dbca6822081839d3e75351944.png

 

Very curious if 1st option is an option I can work with.

Link to comment
Share on other sites

KVS licensing doesn't allow using single KVS installation on multiple servers. If you want to have load balancing like this you need to purchase satellite license for each installation.

Each satellite can be installed on a separate server (with NFS connection to the main server, but this is only required if satellite needs to support users upload their content / avatars). Each satellite will have its unique admin panel on a subdomain, and this is the way KVS team can provide support for each satellite, because for support we will need to access KVS admin panel. The only thing which will be different here from a typically satellite site, is that site will be configured to run on the same domain a main domain.com, while admin panel (and KVS license) will be provided to some subdomain (e.g. s1.domain.com, s2.domain.com).

Link to comment
Share on other sites

Hello Team, you have so many users, who need something related to load balance solution, Database load etc..

 

I think you should work on an Enterprise KVS version, the current ultimate/standard kvs version is good enough for normal users for years....

Link to comment
Share on other sites

On 4/24/2023 at 8:31 PM, xvids said:

I think you should work on an Enterprise KVS version, the current ultimate/standard kvs version is good enough for normal users for years....

Yes, this is exactly what is planned, but first we need to move all site functionality to nextgen code, which will allow later doing all the needed things for better caching, and load balancing and whatever.

Link to comment
Share on other sites

  • 11 months later...
Posted (edited)
On 4/24/2023 at 1:41 PM, Tech Support said:

KVS licensing doesn't allow using single KVS installation on multiple servers. If you want to have load balancing like this you need to purchase satellite license for each installation.

Each satellite can be installed on a separate server (with NFS connection to the main server, but this is only required if satellite needs to support users upload their content / avatars). Each satellite will have its unique admin panel on a subdomain, and this is the way KVS team can provide support for each satellite, because for support we will need to access KVS admin panel. The only thing which will be different here from a typically satellite site, is that site will be configured to run on the same domain a main domain.com, while admin panel (and KVS license) will be provided to some subdomain (e.g. s1.domain.com, s2.domain.com).

Right now I have the approach of having 3 seperate servers with 2 sattelites. But the cache generation constantly generating 100k files each server is just a hassle. Running 3 seperate crons adding unessecary CPU and IO cycles. Development on the website is also a pain sinds I need to go to 3 seperate servers to change the files, clear cache, clear opcache. and then check all 3 servers with a hostfile to see if its correct.

I was just curious if the other solution would work. And adding the main server on top of a distributed file system and letting the webserver server the same filesystem seems to work fine. (ceph or glusterfs). The only thing stopping me right now is the licensing. What if I just purchase the licenses for every frontend server that I have?

Is there any development roadmap where this is addressed? I am at a point where I need 2 more webservers and going through 5 different webservers just to see if my js file has updated is going to be a nightmare.

Edited by hbarnetworks
typo
Link to comment
Share on other sites

This is a matter of support, we can't provide support for a website which is divided into multiple servers using some load balancer.

Our supported solution would be always a requirement that we have access to admin panel on each server. At the moment this is possible with satellites, each satellite has an independent admin panel that we can easily access to do support tasks.

On 4/26/2024 at 12:16 PM, hbarnetworks said:

I was just curious if the other solution would work. And adding the main server on top of a distributed file system and letting the webserver server the same filesystem seems to work fine. (ceph or glusterfs). The only thing stopping me right now is the licensing. What if I just purchase the licenses for every frontend server that I have?

The problem here is not the licensing (since you have purchased satellites this is fine), but we don't have any experience with distributed filesystems and thus we are not able to provide support. If you start using something like this, you should consider to be on your own for supporting this.

On 4/26/2024 at 12:16 PM, hbarnetworks said:

Running 3 seperate crons adding unessecary CPU and IO cycles.

Satellite crons are lightweight, they just sync settings from the primary server and do some administrative tasks (such as cache cleanup). And they are executed each on a separate server.

On 4/26/2024 at 12:16 PM, hbarnetworks said:

Is there any development roadmap where this is addressed? I am at a point where I need 2 more webservers and going through 5 different webservers just to see if my js file has updated is going to be a nightmare.

There is no any roadmap for this, this is needed for max 10 projects, while there are many other things that are needed for the rest 5000+. Our choice where to put effort is obvious here.

Syncing website changes to all satellites can be easily automated with some simple shell script and rsync. There is a backup plugin which creates daily backups into tar.gz archive. Each backup contains /website directory, which can be copied to all satellites in order to sync any changes in configuration. You can have a cron script, which will check for new backups in backup directory and then sync the contents of /website subdirectory to all satellites. This will happen automatically on daily basis. Or if you need to manually initiate the sync, you can manually create a theme backup in the plugin to have the new archive synced to all satellites. We think this concept should work well.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Tech Support said:

The problem here is not the licensing (since you have purchased satellites this is fine), but we don't have any experience with distributed filesystems and thus we are not able to provide support. If you start using something like this, you should consider to be on your own for supporting this.

On 4/26/2024 at 2:16 PM, hbarnetworks said:

Ofcourse I don't expect any support this should be up to the user. I thought it was against the ToS to do something like this in terms of licensing. Because technically you would need only 1 license in order to run 10 webservers. But I guess if licenses are purchased it shouldn't matter.

 

2 hours ago, Tech Support said:

There is no any roadmap for this, this is needed for max 10 projects, while there are many other things that are needed for the rest 5000+. Our choice where to put effort is obvious here.

Syncing website changes to all satellites can be easily automated with some simple shell script and rsync. There is a backup plugin which creates daily backups into tar.gz archive. Each backup contains /website directory, which can be copied to all satellites in order to sync any changes in configuration. You can have a cron script, which will check for new backups in backup directory and then sync the contents of /website subdirectory to all satellites. This will happen automatically on daily basis. Or if you need to manually initiate the sync, you can manually create a theme backup in the plugin to have the new archive synced to all satellites. We think this concept should work well.

Thanks for the answer. I will try the DFS approach and report back on how that runs. and if that fails I will try the above. 

  • Like 1
Link to comment
Share on other sites

I've never really questioned it since KVS is sufficiently optimized for all uses. However, I am curious about how you managed to share/synchronize the /tmp directory? So, do you believe the issue is solely related to caching? And if it's just about caching, why not change how the caching behaves? Maybe through a plugin or a server cache? I understand it’s easier said than done, but I'm curious about your approach.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...