2010-07-29 12 views
9

मैं एक एस 3 विकल्प की तलाश में हूं जो एक विश्वसनीय एपीआई पर निर्भर करता है, ताकि मैं बस http://datastore1.example.com/ID जैसे लिंक सम्मिलित कर सकूं और वे सीधे डाउनलोड हो सकें। मैंने रिक और बिटकैच को देखा है। वे दोनों बहुत अच्छे लगते हैं: http://bitcache.org/api/rest लेकिन उन्हें एक समस्या है। मैं एकमात्र ऐसा होना चाहता हूं जो डेटा अपलोड कर सके। अन्यथा कोई भी पुट अनुरोध भेजकर हमारे डेटास्टोर का उपयोग कर सकता है।स्वयं होस्टेड एस 3 वैकल्पिक

क्या RIAK को कॉन्फ़िगर करने का कोई तरीका है ताकि हर कोई "प्राप्त कर सके" लेकिन हर कोई मुझे छोड़कर फ़ाइलों को हटा या हटा सकता है? क्या ऐसी अन्य सेवाएं हैं जिन्हें आप अनुशंसा कर सकते हैं?

इसके अलावा बाउंटी :)

आवश्यकताओं को जोड़ने:

  • RESTful API
  • मेहमान डेबियन
  • पर केवल
  • नियम चलाना चाहते हैं

बहुत अच्छा है करने के लिए:

  • ऑटो वितरित

संपादित करें: स्पष्ट करने के लिए मैं S3 के लिए किसी तरह के संबंध नहीं करना चाहती मैं महान सर्वर सिर्फ harddrives और बहुत अच्छा नेटवर्क कनेक्शन (3Gbps) मैं S3 की जरूरत नहीं है के साथ चारों ओर झूठ बोल रही है ..

उत्तर

3

आपके द्वारा दी गई जानकारी के आधार पर, मैं यूकेलिप्टस (http://open.eucalyptus.com/) का सुझाव दूंगा। उनके पास एक एस 3 संगत स्टोरेज सिस्टम है।

3

विश्वसनीय, वितरित ऑब्जेक्ट स्टोर RADOS, जो किफ़ फ़ाइल सिस्टम का हिस्सा है, S3 gateway प्रदान करता है।

हमने नीलगिरी भंडारण प्रणाली, वालरस का उपयोग किया, लेकिन हमें भरोसेमंद समस्याएं थीं।

+1

सेफ होम पेज से: "केफ भारी विकास में है, और बेंचमार्किंग और समीक्षा के अलावा किसी भी अन्य उपयोग के लिए अभी तक उपयुक्त नहीं है।" क्या आप कह रहे हैं कि यह नीलगिरी से अधिक स्थिर है? – Vnuk

+1

केफ के राडोस, गेटवे और आरबीडी उत्पादन तैयार हैं। केएफएफएस में अभी भी कमी है, ऐसा लगता है कि बड़ी उत्पादन साइटों में कुछ कॉन्फ़िगरेशन का उपयोग किया जा रहा है। (Http://ceph.com/docs/master/faq/#is-ceph-production-quality) – Javier

6

रीक लेखकों recommend रिसाव के सामने एक HTTP प्रॉक्सी डालने के लिए एक्सेस नियंत्रण प्रदान करने के लिए। आप अपनी पसंद के किसी भी प्रॉक्सी सर्वर (जैसे nginx या Apache), और अपनी पसंद की किसी भी नियंत्रण नियंत्रण नीति को चुन सकते हैं (जैसे कि आईपी पते, HTTP मूल लेख या कुकीज़ पर आधारित प्राधिकरण, मानते हैं कि आपका प्रॉक्सी सर्वर इसे संभाल सकता है)। उदाहरण के लिए, nginx में, आप limit_except निर्दिष्ट कर सकते हैं (इसी प्रकार अपाचे में LimitExcept)।

वैकल्पिक रूप से, आप सीधे रीक को एक्सेस नियंत्रण भी जोड़ सकते हैं। यह वेबमाचिन पर आधारित है, इसलिए एक दृष्टिकोण is_authorized को लागू करना होगा।

1

यदि आप एक वितरित फ़ाइल सिस्टम की तलाश में हैं, तो आप hadoop hdfs का प्रयास क्यों नहीं करते?

http://hadoop.apache.org/common/docs/r0.17.0/hdfs_design.html

एक जावा एपीआई उपलब्ध है:

http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/fs/FileSystem.html

वर्तमान में, सुरक्षा एक मुद्दा है - कम से कम अगर आप एक टर्मिनल की पहुंच है:

http://developer.yahoo.com/hadoop/tutorial/module2.html#perms

लेकिन आप hdfs को तैनात कर सकते हैं, एक एप्लिकेशन सर्वर (जावा एपीआई का उपयोग कर) डाल सकते हैं (ग्लासफिश) के सामने और जर्सी का उपयोग RESTful API निर्माण करने के लिए:

http://jersey.java.net/

आप ऐसी बात के निर्माण में रुचि रखते हैं,, तो कृपया मुझे बताएं मैं काफी जल्दी ही कुछ इसी तरह के निर्माण के लिए किया जा सकता है।

आप जीवन में थोड़ा और अधिक आसान बनाने के लिए क्लाउडेरा Hadoop वितरण का उपयोग कर सकते हैं:

http://www.cloudera.com/hadoop/

Greetz, जे

0

मुझे लगता है कि आप serverfault.com पर अपने प्रश्न पूछना चाहिए, क्योंकि यह अधिक सिस्टम से संबंधित है। वैसे भी, मैं आपको mogileFS का सुझाव दे सकता हूं जो बहुत अच्छी तरह से स्केल करता है: http://danga.com/mogilefs/

0

वेबडावी जितना हो उतना रीस्टफुल है जितना मिलता है और कई कार्यान्वयन होते हैं जो विभिन्न उपयोगों के लिए स्केल करते हैं। किसी भी मामले में, यदि यह आरईएसटी है और यह HTTP है तो सर्वर द्वारा समर्थित प्रमाणीकरण योजना आपको यह नियंत्रित करने की अनुमति देनी चाहिए कि कौन अपलोड कर सकता है।

0

आप इसे अपने आप को वेब ऐप या अपने मौजूदा एप्लिकेशन का एक हिस्सा के रूप में विकसित कर सकते हैं। यह HTTP अनुरोधों का उपभोग करेगा, अपने यूआरआई घटक को पुनः प्राप्त करेगा, इसे S3 ऑब्जेक्ट नाम में परिवर्तित करेगा और इसकी सामग्री प्राप्त करने के लिए getObject() का उपयोग करें (उपलब्ध S3 SDKs में से एक का उपयोग करके, उदाहरण के लिए AWS Java SDK)।

आप एक होस्टेड समाधान का प्रयास कर सकते हैं - s3auth.com (मैं एक डेवलपर हूं)। यह एक ओपन सोर्स प्रोजेक्ट है, और आप देख सकते हैं कि यह तंत्र आंतरिक रूप से one of its core classes पर कैसे कार्यान्वित किया जाता है। HTTP अनुरोध को सेवा द्वारा संसाधित किया जाता है और फिर अमेज़ॅन एस 3 आंतरिक प्रमाणीकरण योजना में फिर से अनुवाद किया जाता है।