Dynomite , terinspirasi oleh whitepaper Dynamo, adalah lapisan dinamo tipis yang terdistribusi untuk berbagai mesin penyimpanan dan protokol. Saat ini termasuk Redis dan Memcached. Dynomite mendukung replikasi multi-pusat data dan dirancang untuk ketersediaan tinggi.
Tujuan utama Dynomite adalah untuk dapat mengimplementasikan ketersediaan tinggi dan replikasi lintas pusat data pada mesin penyimpanan yang pada dasarnya tidak menyediakan fungsionalitas tersebut. Implementasinya efisien, tidak rumit (sedikit bagian yang bergerak), dan berkinerja tinggi.
Setiap cabang bernomor seperti v0.5.9, v0.5.8 dll stabil dan aman untuk digunakan dalam produksi kecuali ditandai sebagai pra-rilis. Cabang dev adalah cabang pengembangan yang tidak stabil. Seiring waktu, cabang master tertinggal dan tidak dipertahankan. Kami pada akhirnya akan menghapusnya dan mungkin membuatnya kembali atau tidak.
Untuk pertanyaan atau kontribusi, silakan pertimbangkan untuk membaca CONTRIBUTING.md.
Untuk membangun Dynomite dari sumber dengan log debug diaktifkan dan pernyataan dinonaktifkan :
$ git clone [email protected]:Netflix/dynomite.git
$ cd dynomite
$ autoreconf -fvi
$ ./configure --enable-debug=yes
$ make
$ src/dynomite -h
Untuk membangun Dynomite dalam mode debug :
$ 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 dapat dikonfigurasi melalui file YAML 1.1 (YAML 1.1 tidak kompatibel dengan JSON) yang ditentukan oleh argumen baris perintah -c atau --conf-file pada proses dimulai. File konfigurasi mem-parsing dan memahami kunci-kunci berikut:
datacenter
berarti semua komunikasi antar pusat data dienkripsi tetapi di dalam pusat data tidak. rack
berarti semua komunikasi antar rak dan wilayah dienkripsi namun komunikasi antar node dalam rak yang sama tidak dienkripsi. all
berarti semua komunikasi antara semua node dienkripsi. Dan none
berarti tidak ada komunikasi yang dienkripsi.Misalnya file konfigurasi di conf/dynomite.yml
Terakhir, untuk mempermudah penulisan file konfigurasi yang benar secara sintaksis, dynomite menyediakan argumen baris perintah -t atau --test-conf yang dapat digunakan untuk menguji file konfigurasi YAML untuk kesalahan sintaksis apa pun.
Berlisensi di bawah Lisensi Apache, Versi 2.0: http://www.apache.org/licenses/LICENSE-2.0