AnQi CMS as an efficient enterprise-level content management system, its powerful multi-site management function undoubtedly brings convenience to many operators.It allows us to easily manage multiple independent content platforms from a unified backend.However, many users who are new to the multi-site mode often have a question: In an AnQiCMS instance, if we need to stop or maintain one of the sites, will it affect the other sites that are running normally?Today, let's delve into this issue and share some practical operational suggestions.
Does stopping one site in the AnQiCMS multi-site mode affect other sites?
The answer is:In most cases, stopping one site will not affect the normal operation of other sites.AnQiCMS was designed with the consideration of independence and isolation between multiple sites, aiming to provide a stable, non-interfering operation environment.Its core mechanism ensures that each site has its own independent running environment and data storage, thereby avoiding the risk of 'a rise all rise, a fall all fall'.
This independence is mainly reflected in the following aspects:
first, Physical isolation of data storage is the core guarantee.. According to AnQiCMS documentation, in multi-site mode, every time you add a new site through the "multi-site management" function in the backend, the system will allocate an independent database for it.This means that all the content, users, configuration, and other data of site A are stored in its own database, completely separate from the data of site B.Even if the data of site A has a problem, needs to be recovered, or is disabled for some reason, the operation will only affect its own data and will not affect the database of other sites.This physical level of data isolation is the foundation for the stable operation of multiple sites.
secondly,The independence of the file and cache mechanism provides runtime protectionEach site has an independent root directory created by AnQiCMS (for example/app/dev_anqicms.com), used to store each cache file, uploaded images/videos, compiled static resources and other runtime data.This means that the cache update, file corruption, or configuration changes for site A will not interfere with the resource loading or data processing for site B.This design concept greatly reduces the possibility of a single site's failure spreading to the entire AnQiCMS application instance, ensuring that each site's resource operations are localized and independent.
Moreover,The efficient concurrent features of the Go language lay a foundation for independent operation. AnQiCMS is developed in Go language, naturally has the advantages of high concurrency and high performance.Even though all sites may run in the same AnQiCMS application process, the Go language's Goroutine and lightweight thread model enable it to handle requests from different sites efficiently and in parallel.Each site's request processing process is independent, and resource allocation and task scheduling do not affect each other.This means that the AnQiCMS application itself can act as a stable 'central hub', supporting the independent operation of each site with high performance, and will not easily cause the entire system to be blocked even if the traffic of a site increases rapidly.
By such an architectural design, AnQiCMS achieves a high degree of isolation between sites, so that operations on a single site (such as disabling, deleting, or performing data maintenance in the background) are limited to that site itself and will not affect other sites running under the AnQiCMS instance.
When might it be affected? Special scenarios and operational suggestions
Although AnQiCMS is committed to achieving independence between sites in terms of architecture, in some specific scenarios, there may still be a situation where 'tugging one hair moves the whole body' or we need to pay extra attention to:
- The termination or crash of the AnQiCMS application process:This is the most direct impact point. If the AnQiCMS core application process that carries all sites (such as Go language executable files or Docker containers) stops running due to server failure, configuration error, memory overflow, or other unforeseen reasons, then all sites that depend on this application process will be inaccessible.This is like a power main switch in a building being turned off, all rooms will lose power regardless of the internal circuitry in the rooms