A subscription runs either synchronously or asynchronously.
In synchronous execution, the call to run the event action blocks further processing by the subscription processor until the action completes. The action runs in the same transaction as the originating activity on the subscription target. If the action fails, the transaction rolls back.
In asynchronous execution, the action occurs on a separate execution thread, which allows the subscription processor to continue without waiting for the results of the action. The action cannot be in the same transaction as the originating activity. When an asynchronous event is queued in an object store, that queued event can be processed by any server within the same site as that object store, not just the server that generated the event.