You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 17/umbraco-cms/fundamentals/setup/server-setup/load-balancing/load-balancing-backoffice.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
# Load Balancing the Backoffice
2
2
3
-
This article contains specific information about load balancing the Umbraco backoffice, ensure you read the [Load Balancing Overview](./) and relevant articles about general load balancing principles before you begin.
3
+
This article contains specific information about load balancing the Umbraco backoffice. Ensure you read the [Load Balancing Overview](./) and relevant articles about general load balancing principles before you begin.
4
4
5
-
By default, the Umbraco load balancing setup assumes there are a single backoffice server, and multiple front-end servers. From version 17 it's possible to load balance the backoffice, meaning there's no need to differentiate from backoffice servers and front-end servers, however, this requires some additional configuration steps.
5
+
By default, the Umbraco load balancing setup assumes there is a single backoffice server and multiple front-end servers. From version 17, it's possible to load balance the backoffice. This means there's no need to differentiate between backoffice servers and front-end servers. However, this requires some additional configuration steps.
6
6
7
7
## Server Role Accessor
8
8
@@ -29,9 +29,9 @@ This will ensure that all servers are treated as backoffice servers.
29
29
30
30
One of the issues with load balancing the backoffice is that all servers will have their own isolated caches. This means that if you make a change on one server, it won't be reflected on the other servers until their cache expires.
31
31
32
-
To solve this issue a cache versioning mechanism is used, this is similar to optimistic concurrency control, where each server has a version number for its cache. When a server makes a change, it changes the version identifier. The other servers can then check the version identifier before accessing the cache and invalidate their cache if it's out of date.
32
+
To solve this issue, a cache versioning mechanism is used. This is similar to optimistic concurrency control. Each server has a version number for its cache. When a server makes a change, it updates the version identifier. The other servers can then check the version identifier before accessing the cache. If the cache is out of date, they invalidate it.
33
33
34
-
This does mean that the server needs to check this version identifier before a cache lookup, so by default this behaviour is disabled as it's only required when load balancing the backoffice.
34
+
This does mean that the server needs to check this version identifier before a cache lookup. By default, this behaviour is disabled. It's only required when load balancing the backoffice.
35
35
36
36
You can enable this on the Umbraco builder, either in `Program.cs` or via a Composer:
37
37
@@ -46,4 +46,4 @@ The Umbraco Backoffice uses SignalR for multiple things, including real-time upd
46
46
47
47
## Background Jobs
48
48
49
-
If you have any custom recurring background jobs that should only run on a single server, you'll need to implement `IDistributedBackgroundJob`, see[Scheduling documentation](../../../../reference/scheduling.md#background-jobs-when-load-balancing-the-backoffice) for more information.
49
+
If you have custom recurring background jobs that should only run on a single server, you'll need to implement `IDistributedBackgroundJob`. See[Scheduling documentation](../../../../reference/scheduling.md#background-jobs-when-load-balancing-the-backoffice) for more information.
Copy file name to clipboardExpand all lines: 17/umbraco-cms/fundamentals/setup/server-setup/load-balancing/signalR-in-backoffice-load-balanced-environment.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ Note: Both Umbraco Core and these composers use `.AddSignalR().` which is ok sin
19
19
20
20
### Using existing infrastructure
21
21
It is possible to use your existing database as a backplane. If this database is hosted in Azure it is not possible to enable Service Broker which will have an impact on message throughput. We do however feel that when you start out with load balancing, it might be enough to cover your needs.
22
-
For more information, check out the [Github page](https://github.com/IntelliTect/IntelliTect.AspNetCore.SignalR.SqlServer).
22
+
For more information, check out the [GitHub page](https://github.com/IntelliTect/IntelliTect.AspNetCore.SignalR.SqlServer).
23
23
- Add a reference to the IntelliTect.AspNetCore.SignalR.SqlServer NuGet package
## Background jobs when load balancing the backoffice
337
337
338
-
When load balancing the backoffice, all servers will have the `SchedulingPublisher` role.
339
-
This means that the approach described above for restricting jobs to specific server roles will not work as intended, since all servers will match the `SchedulingPublisher` role.
338
+
When load balancing the backoffice, all servers will have the `SchedulingPublisher` role. This means the approach described above for restricting jobs to specific server roles will not work as intended. All servers will match the `SchedulingPublisher` role.
340
339
341
340
Instead, for jobs that should only run on a single server, you should implement an `IDistrutedBackgroundJob`.
342
341
@@ -347,7 +346,7 @@ By default, distributed background jobs are checked every 5 seconds, with an ini
347
346
348
347
### Implementing a custom distributed background job
349
348
350
-
To implement a custom distributed background job, create a class that implements the `IDistributedBackgroundJob` interface. Just like with `IRecurringBackgroundJob` DI is available in the constructor.
349
+
To implement a custom distributed background job, create a class that implements the `IDistributedBackgroundJob` interface. Like with `IRecurringBackgroundJob` DI is available in the constructor.
0 commit comments