view mod_storage_multi/README.markdown @ 3953:2c6d5734ae04

mod_rest: Add JSON mapping of XEP-0128: Service Discovery Extensions Example XEP-0157 payload: { "disco" : { "extensions" : { "http://jabber.org/network/serverinfo" : { "abuse-addresses" : [ "mailto:abuse@shakespeare.lit", "xmpp:abuse@shakespeare.lit" ], "admin-addresses" : [ "mailto:admin@shakespeare.lit", "xmpp:admin@shakespeare.lit" ], "feedback-addresses" : [ "http://shakespeare.lit/feedback.php", "mailto:feedback@shakespeare.lit", "xmpp:feedback@shakespeare.lit" ], "sales-addresses" : [ "xmpp:bard@shakespeare.lit" ], "security-addresses" : [ "xmpp:security@shakespeare.lit" ], "support-addresses" : [ "http://shakespeare.lit/support.php", "xmpp:support@shakespeare.lit" ] } } } }
author Kim Alvefur <zash@zash.se>
date Mon, 23 Mar 2020 19:03:04 +0100
parents a7fdab9c14e2
children
line wrap: on
line source

---
summary: Multi-backend storage module (WIP)
labels:
- NeedDocs
- Stage-Alpha
...

Introduction
============

This module attemtps to provide a storage driver that is really multiple
storage drivers. This could be used for storage error tolerance or
caching of data in a faster storage driver.

Configuration
=============

An example:

``` {.lua}
storage = "multi"
storage_multi_policy = "all"
storage_multi = {
    "memory",
    "internal",
    "sql"
}
```

Here data would be first read from or written to [mod\_storage\_memory],
then internal storage, then SQL storage. For reads, the first successful
read will be used. For writes, it depends on the `storage_multi_policy`
option. If set to `"all"`, then all storage backends must report success
for the write to be considered successful. Other options are `"one"` and
`"majority"`.