feat: add clustering
config to fork serve process for CPU core + load balancing
#430
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #429
After this change it is by default enabled if it is production and it is Linux.
clustering
To improve the performance and reliability of your Brisa application, you can enable clustering through the
clustering
configuration property. Whenclustering
istrue
, Brisa will fork the process for each CPU core and will load balance the requests.The default value is
true
in production and when the operating system will load balance the requests correctly. Otherwise, the default value isfalse
.Warning
The load balancing is working fine only in Linux. On Windows and macOS, the operating system does not load balance HTTP connections as one would expect.
Example
To make it possible, Brisa uses
node:cluster
to handle the clustering. This Node API also works in Bun.Caution
If you need to use a Custom Server, this configuration does not apply, and you need to handle the clustering yourself.