Reverbrain wiki

Site Tools


backrunner:backrunner

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
backrunner:backrunner [2015/11/04 06:20]
zbr old revision restored (2015/10/28 22:40)
backrunner:backrunner [2017/03/12 17:19] (current)
zbr
Line 1: Line 1:
 ===== Backrunner ===== ===== Backrunner =====
  
-Backrunner is a new swiss-knife HTTP/​[[backrunner:​backrunner#​https_configuration|HTTPS]] proxy for [[elliptics:​elliptics|Elliptics]] distributed storage. It supports ACL, automatic bucket selection based on disk and network speed, errors, amount of free space, automatic defragmentation, header extension, local static files handling and provides simple REST API for clients.+Backrunner is a new swiss-knife HTTP/​[[backrunner:​backrunner#​https_configuration|HTTPS]] proxy for [[elliptics:​elliptics|Elliptics]] distributed storage. It supports ACL, automatic bucket selection based on disk and network speed, errors, amount of free space, header extension, local static files handling and provides simple REST API for clients.
  
  
Line 115: Line 115:
  "​Access-Control-Allow-Origin":​ "​*"​  "​Access-Control-Allow-Origin":​ "​*"​
  },  },
- "​defrag-free-space-limit":​ 0.4, 
- "​defrag-removed-space-limit":​ 0.05, 
- "​defrag-max-buckets":​ 3, 
- "​defrag-max-backends-per-server":​ 3, 
  "​root":​ "/​srv/​elliptics",​  "​root":​ "/​srv/​elliptics",​
  "​https_address":​ "​0.0.0.0:​443",​  "​https_address":​ "​0.0.0.0:​443",​
Line 159: Line 155:
 | redirect-signature-timeout | number of seconds generated secure token is valid, this value will be used in signature generation and will be stored in headers | | redirect-signature-timeout | number of seconds generated secure token is valid, this value will be used in signature generation and will be stored in headers |
 | redirect-root | part of the absolute path returned by the elliptics which will be cut off from the URL to prevent access outside of the storage data directory. ''​redirect-root''​ must match ''​root''​ option in [[elliptics:​streaming-tutorial#​configuration|eblob streaming module]] config - this is a root directory where data is stored, and also this part will be cut off from the URL. For example, if elliptics lookup says given key lives in ''/​srv/​elliptics/​2/​data/​data-0.12''​ file, and ''​redirect-root''​ is set to ''/​srv/​elliptics'',​ then redirect URL will only contain ''​2/​data/​data-0.12''​ part and streaming eblob module will recover correct path by adding its ''​root''​ to the given path. | | redirect-root | part of the absolute path returned by the elliptics which will be cut off from the URL to prevent access outside of the storage data directory. ''​redirect-root''​ must match ''​root''​ option in [[elliptics:​streaming-tutorial#​configuration|eblob streaming module]] config - this is a root directory where data is stored, and also this part will be cut off from the URL. For example, if elliptics lookup says given key lives in ''/​srv/​elliptics/​2/​data/​data-0.12''​ file, and ''​redirect-root''​ is set to ''/​srv/​elliptics'',​ then redirect URL will only contain ''​2/​data/​data-0.12''​ part and streaming eblob module will recover correct path by adding its ''​root''​ to the given path. |
- 
-==== Defragmentation part ==== 
- 
-Backrunner proxy can start eblob defragmentation process to reclaim removed space and make it available. It is still possible that numbers will be outside of the given boundaries, but proxy tries to be within the ranges. 
- 
-| defrag-free-space-limit | only consider backends for defragmentation where amount of free space is less than this limit. Defragmentation process quite heavy, this option prevents it from running on relatively free backends | 
-| defrag-removed-space-limit | only consider backneds for defragmetation where amount of removed (and thus potentailly available for defragmentation) space is more than this limit | 
-| defrag-max-buckets | it is allowed to start at most this number of defragmentation process in different buckets | 
-| defrag-max-backends-per-server | it is generally not a good idea to run many defragmentation processes on the single storage node because of disk controllers overhead. This option limits number of defragmentation per storage node | 
  
 ==== Common static files handler ==== ==== Common static files handler ====
backrunner/backrunner.txt ยท Last modified: 2017/03/12 17:19 by zbr