Dynomite , вдохновленный техническим документом Dynamo, представляет собой тонкий распределенный слой динамо для различных механизмов хранения и протоколов. В настоящее время к ним относятся Redis и Memcached. Dynomite поддерживает репликацию в нескольких центрах обработки данных и обеспечивает высокую доступность.
Конечная цель Dynomite — обеспечить высокую доступность и репликацию между центрами обработки данных на механизмах хранения, которые по своей сути не обеспечивают такую функциональность. Реализация эффективна, несложна (мало движущихся частей) и высокопроизводительна.
Каждая ветка с номерами, например v0.5.9, v0.5.8 и т. д., стабильна и безопасна для использования в производстве, если не помечена как предварительная версия. Ветка разработки — это нестабильная ветка разработки. Со временем основная ветка отстала и не поддерживается. В конечном итоге мы удалим его и, возможно, создадим его заново, а можем и не создать.
Если у вас есть вопросы или предложения, пожалуйста, прочтите CONTRIBUTING.md.
Чтобы собрать Dynomite из исходного кода с включенными журналами отладки и отключенными утверждениями :
$ git clone [email protected]:Netflix/dynomite.git
$ cd dynomite
$ autoreconf -fvi
$ ./configure --enable-debug=yes
$ make
$ src/dynomite -h
Чтобы собрать Dynomite в режиме отладки :
$ git clone [email protected]:Netflix/dynomite.git
$ cd dynomite
$ autoreconf -fvi
$ CFLAGS="-ggdb3 -O0" ./configure --enable-debug=full
$ make
$ sudo make install
Usage: dynomite [-?hVdDt] [-v verbosity level] [-o output file]
[-c conf file] [-p pid file]
Options:
-h, --help : this help
-V, --version : show version and exit
-t, --test-conf : test configuration for syntax errors and exit
-g, --gossip : enable gossip (default: disabled)
-d, --daemonize : run as a daemon
-D, --describe-stats : print stats description and exit
-v, --verbosity=N : set logging level (default: 5, min: 0, max: 11)
-o, --output=S : set logging file (default: stderr)
-c, --conf-file=S : set configuration file (default: conf/dynomite.yml)
-p, --pid-file=S : set pid file (default: off)
-x, --admin-operation=N : set size of admin operation (default: 0)
Dynomite можно настроить с помощью файла YAML 1.1 (YAML 1.1 не совместим с JSON), указанного аргументом командной строки -c или --conf-file при запуске процесса. Файлы конфигурации анализируют и понимают следующие ключи:
datacenter
означает, что вся связь между центрами обработки данных зашифрована, но внутри центра обработки данных это не так. rack
означает, что вся связь между стойками и регионами зашифрована, однако связь между узлами внутри одной стойки не шифруется. all
означает, что вся связь между всеми узлами зашифрована. И none
означает, что ни одно сообщение не зашифровано.Например, файл конфигурации в conf/dynomite.yml
Наконец, чтобы упростить написание синтаксически правильных файлов конфигурации, dynomite предоставляет аргумент командной строки -t или --test-conf, который можно использовать для проверки файла конфигурации YAML на наличие синтаксических ошибок.
Лицензия Apache, версия 2.0: http://www.apache.org/licenses/LICENSE-2.0.