author | Kim Alvefur <zash@zash.se> |
Wed, 03 Mar 2021 11:43:38 +0100 | |
changeset 4494 | cf2bdb2aaa57 |
parent 1891 | a7fdab9c14e2 |
permissions | -rw-r--r-- |
1890 | 1 |
--- |
2 |
summary: Multi-backend storage module (WIP) |
|
3 |
labels: |
|
4 |
- NeedDocs |
|
1891
a7fdab9c14e2
mod_storage_multi: Put in Alpha stage
Kim Alvefur <zash@zash.se>
parents:
1890
diff
changeset
|
5 |
- Stage-Alpha |
1890 | 6 |
... |
7 |
||
8 |
Introduction |
|
9 |
============ |
|
10 |
||
11 |
This module attemtps to provide a storage driver that is really multiple |
|
12 |
storage drivers. This could be used for storage error tolerance or |
|
13 |
caching of data in a faster storage driver. |
|
14 |
||
15 |
Configuration |
|
16 |
============= |
|
17 |
||
18 |
An example: |
|
19 |
||
20 |
``` {.lua} |
|
21 |
storage = "multi" |
|
22 |
storage_multi_policy = "all" |
|
23 |
storage_multi = { |
|
24 |
"memory", |
|
25 |
"internal", |
|
26 |
"sql" |
|
27 |
} |
|
28 |
``` |
|
29 |
||
30 |
Here data would be first read from or written to [mod\_storage\_memory], |
|
31 |
then internal storage, then SQL storage. For reads, the first successful |
|
32 |
read will be used. For writes, it depends on the `storage_multi_policy` |
|
33 |
option. If set to `"all"`, then all storage backends must report success |
|
34 |
for the write to be considered successful. Other options are `"one"` and |
|
35 |
`"majority"`. |