2013-03-14 6 views
7

के लिए JRuby/TorqueBox हम एक दूरसंचार संबंधित अनुप्रयोग मंच (और नए प्लेटफ़ॉर्म में कुछ स्टैंडअलोन ऐप्स माइग्रेट करने/समेकित करने) के विकास के लिए कुछ विकल्प का मूल्यांकन कर रहे हैं। हमारी मुख्य चिंताओं में से एक शिखर घंटों के दौरान उच्च मात्रा में अनुरोधों को संभालने की क्षमता है।उच्च प्रदर्शन/मिशन महत्वपूर्ण अनुप्रयोग

हमें लगता है TorqueBox क्योंकि एक दिलचस्प समाधान विचार के लायक लगता है: जावा से अधिक

(शुद्ध जावा प्रदर्शन करने के लिए अगला)
  • स्पीड
  • तेज़ विकास समय
  • अनुरक्षणीयता
  • धागे के लिए समर्थन/concurrency हालांकि यह रूबी
  • रेल के साथ तेज/आसान फ्रंट एंड विकास
  • ...
  • RedHat समर्थित और JBoss (क्षमता, भविष्य के विकास और यदि आवश्यक हो तो जावा फोन करने की क्षमता)
  1. किसी को भी विकसित किया है/इसी तरह आवेदन (रों) JRuby/TorqueBox के साथ तैनात किया पर चलता है?
  2. आगे कोई गंभीर प्रदर्शन बाधाएं? (या हमें JRuby का उपयोग क्यों नहीं करना चाहिए और जावा के साथ चिपकना चाहिए?)
+0

मैं क्या मानक और आईआरसी से इकट्ठा से: JRuby/Torquebox और बहुत अच्छी तरह से उच्च भार संभाल कर सकते हैं। हम Celluloid.IO (concurrency के लिए) का उपयोग कर एक पीओसी ऐप विकसित कर रहे हैं + TorqueBox और परीक्षण करें कि यह जावा संदर्भ ऐप के साथ कैसे किराया करेगा। यदि हम JRuby PoC ऐप विकसित करने का निर्णय लेते हैं तो लोड आंकड़ों के साथ अपडेट होगा। – bud

+0

सेल्युलॉइड का संयोजन: टोरकबॉक्स के साथ io कम से कम हमारी आवश्यकता के लिए एक ओवरकिल लग रहा था और हम टीबी की अंतर्निर्मित कतार कार्यक्षमताओं का उपयोग करके समाप्त हो गए और वे बिना किसी समस्या के काम करते हैं। एक बात देखने के लिए है, हमने देखा कि चलने वाले विकास मोड ने जेबॉस मेमोरी सीमाओं के साथ त्रुटियां दी हैं। उत्पादन मोड में ऐप को तैनात करना उन्हें मंजूरी दे दी। – bud

उत्तर

0

हाँ जेआरबी के साथ कोई परिपक्व जावा वेब-सर्वर एक मूल्यवान विकल्प है। चरम घंटों पर उच्च भार को संभालने का विवरण वास्तव में इस बात पर निर्भर करेगा कि आप किस प्रकार का ऐप चलाएंगे, आप कितना "हार्डवेयर" उपयोग कर सकते हैं, लेकिन आम तौर पर यह प्राप्त करने योग्य है लेकिन जागरूक रहें कि अभी भी कुछ "गॉथचास" हो सकते हैं जैसे रूबी पुस्तकालय (रत्न) जो थ्रेड-सुरक्षा को अच्छी तरह से संभाल नहीं पाते हैं। आपको बस यह समझने की जरूरत है कि आगे बढ़ना कैसा है - ऐसा लगता है कि आप 'सेलूलॉयड.आईओ' का उपयोग करना चाहते हैं :)

+0

सेल्युलॉइड: आईओओ हमारी स्थिति के लिए एक ओवरकिल लग रहा था जब हम वास्तव में हमारी आवश्यकताओं को समझते थे और टीबी से परिचित हो जाते थे, और हम बस जेबी/टीबी की निर्मित कतारों के लिए बस गए थे। – bud

0

उत्तर हाँ है लेकिन मेमोरी लीक (रत्न, थ्रेडस्फीटी मुद्दे इत्यादि) से अवगत रहें। । आपको VisualVM, Eclipse MAT और/या NewRelic जैसे टूल से परिचित होना होगा।

हम अमेज़ॅन ईसी 2 पर प्रति दिन 60k-80k विज़िट्स (नए सी 3 उदाहरण जावा के लिए महान हैं) पर कुछ ग्राहकों के लिए उत्पादन पर टॉर्क्यूबॉक्स का सफलतापूर्वक उपयोग कर रहे हैं।

परिनियोजन भी एक मुद्दा है। हम स्मृति खपत के कारण किसी भी प्रकार की रोलिंग पुनरारंभ करने में असमर्थ हैं। तो हर बार जब हम Capistrano का उपयोग करके तैनात करते हैं तो एक पूर्ण जेबॉस पुनरारंभ की आवश्यकता होती है (हमारे लिए कोई बड़ी समस्या नहीं है)।

Bests, एंटोनियो

संबंधित मुद्दे