الدينوميت ، المستوحى من ورقة عمل دينامو، عبارة عن طبقة دينامو رفيعة وموزعة لمحركات وبروتوكولات تخزين مختلفة. وتشمل هذه حاليًا 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