ما الذي توصي به لتكنولوجيا بيانات بيانات Java واسعة النطاق: Terracotta، Gigaspass، الاتساق، إلخ؟ [مغلق

StackOverflow https://stackoverflow.com/questions/539985

سؤال

لقد كنت أقرأ عن حلول "شبكة البيانات" المزعومة من أجل منصة Java بما في ذلك Terracotta و Gigascass والتماسك. كنت أتساءل ما إذا كان لدى أي شخص تجربة عالمية حقيقية تعمل بأي من هذه الأدوات ويمكن أن تشارك تجربتها. أنا أيضا فضولية حقا لمعرفة ما حجم نشر الناس الذين عملوا مع: هل نتحدث 2-4 مجموعات عقدة أو هل عملت مع أي شيء أكبر بكثير من ذلك؟

أنا جذبت إلى Terracotta بسبب دعم "قطرة" لسبات الرصيد والربيع، وكلاهما نستخدمه بشكل كبير. أنا أيضا أحب فكرة كيف تزين Bytecode بناء على التكوين ولا يتطلب منك البرنامج مقابل "API الشبكة". أنا لست على علم بأي مزايا للأدوات التي تستخدم نهج API الصريح ولكن أحب أن نسمع عنها إذا كانت موجودة في الواقع. :)

لقد أمضيت أيضا بعض الوقت في القراءة عن memcached ولكن أكثر اهتماما في سماع ردود فعل على هذه الحلول الثلاثة المحددة. سأكون فضولي لسماع كيف يتم قياسها ضد memcached في الحدث استخدم شخص ما.

هل كانت مفيدة؟

المحلول

كان لدينا 50 خواسير تشغيل تطبيق WebService وكانت كل هذه الخوادم تم تحميل متوازنة باستخدام BIGIP. كان الشرط هو ذاكرة التخزين المؤقت لكل حالة مستخدم بحيث لا تفعل الدول اللاحقة نفس المعالجة مرة أخرى واحصل على البيانات من الدولة السابقة. وبهذه الطريقة لا تحتاج عميل Webservice إلى الحفاظ على الحالة.

استخدمنا Terracotta لتخزين الولايات المتحدة ولا تواجه أي مشكلة في الأداء. في وقت الذروة عدد طلب الطلب هو الحصول على 100 في الثانية.

نصائح أخرى

قد ترغب في التحقق بزجاج أيضا. Hazelcast عبارة عن معاملات مفتوحة المصدر، وتوزيعها / تنفيذ تنفيذ قائمة الانتظار، والموضوع، والخريطة، ومجموعة، والقفل، والقفل والخدمة المنفذة. إنه سهل العمل مع؛ أضف Hazelcast.jar إلى ClassPath وبدء الترميز. لا يلزم أي تكوين تقريبا.

بزجاج يتم إصداره بموجب ترخيص Apache ودعم درجة المؤسسات متاح أيضا. يتم استضافة الكود في رمز جوجل.

تعتمد المكتبة التي تختارها حقا على طلبك وما تحاول تحقيقه.

عملت في متجر يستخدم التماسك لتوفير قابلية التوسع (والتكرار، ونوع) لتطبيقات الويب الخاصة به. وجدنا أنه يجب أن يكون لديك حوالي 4-5 عقدة للبدء في الحصول على أي فوائد من التماسك (2 أو 3 عقدة يحتمل أن تقلل من الأداء). أعتقد أن مستندات أوراكل تقول أنك بحاجة إلى الكثير من العقد (30+) العقد للحصول على فائدة مع التماسك. إذا كنت تذهب مع التماسك، فتأكد من أن تحصل على إعداد أجهزةك بشكل صحيح - فهي حساسة للغاية للكمون.

أنا شخصيا سأبقى بعيدا عن الأشياء "المتنزرة". قد يعطيك شيئا ما للبدء فيه، لكنك ستجري في النهاية إلى مزامنة أو مشاكل في الأداء وسيتعين عليك بدء كتابة التعليمات البرمجية الخاصة بطبقة الشبكة الخاصة بك على أي حال. في الأساس، أنت تعرف تطبيقك أفضل من المكتبة، وسوف تكون قادرة على معرفة العناصر التي تحتاج إلى أن تكون في ذاكرة التخزين المؤقت، والمدة التي يحتاجونها للعيش، وكيف سيتم استخدام تطبيقك، إلخ.

ليس لدي خبرة كافية في هذه التقنيات، لكنني أعتقد اباتشي هيدوب ثبت أن تكون قابلة للتطوير وموثوقة. ركض ياهو 10000 كور لينكس الكتلة.

انها تعتمد على جوجل mapreduce. خوارزمية.

هذه توضح المقالة MAPRREDUCE ولماذا يجب أن تهتم بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top