Dynomite ซึ่งได้รับแรงบันดาลใจจากเอกสารไวท์เปเปอร์ของ Dynamo คือชั้นไดนาโมแบบบางที่กระจายตัวสำหรับกลไกการจัดเก็บข้อมูลและโปรโตคอลต่างๆ ปัจจุบันรวมถึง Redis และ Memcached Dynomite รองรับการจำลองแบบหลายศูนย์ข้อมูลและได้รับการออกแบบเพื่อความพร้อมใช้งานสูง
เป้าหมายสูงสุดของ Dynomite คือความสามารถในการใช้งานความพร้อมใช้งานสูงและการจำลองแบบข้ามศูนย์ข้อมูลบนกลไกการจัดเก็บข้อมูลที่ไม่มีฟังก์ชันการทำงานดังกล่าวโดยธรรมชาติ การนำไปปฏิบัติมีประสิทธิภาพ ไม่ซับซ้อน (มีชิ้นส่วนที่เคลื่อนไหวน้อย) และมีประสิทธิภาพสูง
ทุกสาขาที่มีหมายเลขเช่น v0.5.9, v0.5.8 ฯลฯ มีความเสถียรและปลอดภัยในการใช้งานจริง เว้นแต่จะทำเครื่องหมายว่าเป็นรุ่นก่อนเผยแพร่ สาขา dev เป็นสาขาการพัฒนาที่ไม่เสถียร เมื่อเวลาผ่านไป สาขาหลักได้ล้าหลังและไม่ได้รับการดูแลรักษา ในที่สุดเราจะลบมันออกไปและอาจจะสร้างมันขึ้นมาใหม่หรือไม่ก็ได้
สำหรับคำถามหรือการสนับสนุน โปรดอ่าน 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