P
P
PHPProger2016-08-08 20:41:21
CMS
PHPProger, 2016-08-08 20:41:21

What is the best way to organize a cloud CMS?

Good afternoon!
At the moment I am developing a cloud CMS, very similar to modxcloud.com. The bottom line is that there is a dashboard from where our client creates sites, then in the admin panel these sites are already configured by the client.
Now the system works like this:
1) the system copies the CMS to the /sites/ directory, it turns out sites/client_url
2) when accessing client_url.base_url.com, the site is loaded from the sites/client_url directory
I think modxcloud is also about the same to such scheme to scale service?
If the server is full of sites, how to connect the second server?
Now I have such a solution in my hands, but I don’t know how correct it is:
1) Use Load Balancer - HaProxy
2) Set criterion for LB -> if domains have capital letters [AG] (Conditional) then go to the first server, if not, then to the second one.
I ask you to dedicate me how to properly organize the infrastructure of the cloud service.
UPD
I consider the plate with server load to be a good idea, after some thought I came up with the following algorithm:
1) The dashboard receives a command from the client to create a site
2) The least loaded server is selected from the plate, the server sends a command to generate the site with the necessary data
3) In depending on the server, the site will have an address like this: site_url.server_alias.base_url.ru
on base_url.ru will be hosted by Load Balancer itself
But I have such a question, how to limit the size of the site depending on the tariff plan? so that clients do not download anything, let's say the maximum size on their site should be 100mb. How to track that the client has exceeded the allowable volume?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
S
Sanes, 2016-08-08
@PHPProger

The easiest way to get a plate with a rating on the load of the servers. Based on the rating, choose a server.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question