2012-04-23 27 views
5

मैं अपने पिता के लिए this वेबसाइट चलाता हूं जो अपने ट्विटर फ़ीड से ट्वीट खींचता है और उन्हें वैकल्पिक प्रारूप में प्रदर्शित करता है। वर्तमान में, ट्वीट्स जावास्क्रिप्ट का उपयोग करके खींच लिया जाता है ताकि पूरी तरह क्लाइंट-साइड। चीजों को करने का सबसे प्रभावी तरीका है? वेबसाइट पर कोई हिट दर नहीं है, लेकिन मुझे इसमें दिलचस्पी है कि इसे स्केल करने का सबसे अच्छा तरीका क्या होगा। कोई भी सलाह बहुत उपयोगी होगी। मैं कुछ बिंदु पर धारा में लेख शामिल करने की भी सोच रहा हूं। इसे लागू करने का सबसे अच्छा तरीका क्या होगा?सर्वर-साइड या क्लाइंट-साइड?

उत्तर

7

ट्विटर API अनुरोध rate limited to 150 an hour हैं। यदि आपके पृष्ठ से अधिक अनुरोध किया गया है, तो आपको ट्विटर एपीआई (एक HTTP 400 त्रुटि) से एक त्रुटि मिलेगी। इसलिए, सर्वर पर ट्वीट्स का अनुरोध करना और एक निश्चित अवधि के लिए प्रतिक्रिया को कैश करना शायद एक बेहतर विचार है। आप नवीनतम ट्वीट्स को 150 गुना प्रति घंटे तक अनुरोध कर सकते हैं, और जब भी आपके पृष्ठ से अनुरोध किया जाता है, तो उसे सीधे एपीआई कॉल करने के बजाय, आपकी सर्वर साइड स्क्रिप्ट से कैश किए गए ट्वीट प्राप्त होते हैं।

ट्विटर डॉक्स से:

अनधिकृत कॉल प्रति घंटे 150 अनुरोधों की अनुमति है। अनधिकृत कॉल सर्वर या अनुरोध करने वाले डिवाइस के सार्वजनिक सामना करने वाले आईपी के खिलाफ मापा जाता है।

मैंने हाल ही में ट्विटर एपीआई के साथ एक ही तरीके से एकीकृत कुछ काम किया है। हमने ऐप का परीक्षण करते समय भी दर सीमा को बहुत जल्दी मार दिया। वह ऐप अब सर्वर पर ट्वीट्स कैश करता है, और प्रत्येक घंटे कैश को कुछ बार अपडेट करता है।

+0

धन्यवाद - मैं यह करूँगा, बहुत अच्छी सलाह। प्रदर्शन के लिए बस मेरी ओसीडी को शामिल करने के लिए, यदि एक जेसन के रूप में इसे कैश करने के लिए बेहतर होगा (उदाहरण के लिए एक बार प्रति घंटा) और फिर क्लाइंट को उस जेसन (इसलिए क्लाइंट-साइड) का उपयोग करके पृष्ठ को डाउनलोड और भरें या इसे कैश करें जैसे कि एसक्यूएल , फिर पृष्ठ का preprocess उदाहरण php (सर्वर-पक्ष) का उपयोग कर? मुझे उम्मीद है कि इसका कोई अर्थ है। – neutrino

+1

जिस तरह से मैंने इसे किया है, वह सर्वर-साइड स्क्रिप्ट कैश किए गए JSON स्ट्रिंग को वापस करने के लिए है। किसी भी तरह से काम करेगा, तो यह वास्तव में आप पर निर्भर है। मेरे मामले में, मौजूदा जेएस को रखना तेज़ और आसान था, जो केवल तभी काम करेगा जब सर्वर से प्रतिक्रिया उसी प्रारूप में थी। –

+0

हाँ मैं देखता हूं, बहुत बहुत धन्यवाद। – neutrino

0

ट्वीट्स सर्वर पक्ष खींचकर, आप अपने सर्वर के माध्यम से सभी ट्वीट ट्रैफिक को रूट कर रहे हैं। तो, आपके सभी ट्रैफिक तब आपके सर्वर से आ रहे हैं, संभावित रूप से आपकी वेबसाइट के प्रदर्शन में कमी आ रही है।

यदि आप उन ट्वीट्स के साथ कोई जादू सामग्री नहीं करते हैं जो संभव ग्राहक पक्ष नहीं हैं, तो मुझे आपके वर्तमान समाधान से चिपकना चाहिए। इसमें कुछ भी गलत नहीं है और यह काफी हद तक स्केल करता है (यह मानते हुए कि आप ट्विटर के सर्वर को बेहतर प्रदर्शन नहीं करते हैं;))

0

क्लाइंट पक्ष से अपनी ट्वीट खींचना स्केलेबिलिटी के मामले में निश्चित रूप से बेहतर है। मैं समझ नहीं पा रहा हूं कि आप लेख जोड़ने के बारे में अपने दूसरे प्रश्न में क्या देख रहे हैं

0

मुझे लगता है कि यदि आप उन्हें क्लाइंट साइड कर सकते हैं तो इसके लिए जाएं! यह ब्राउज़र के साथ बैंडविड्थ उपयोग को धक्का देता है। आपके सर्वर पर कम लोड। मुझे लगता है कि यह भी मापनीय है। जब तक आपका ग्राहक वेब अनुरोध कर सकता है, वे आपकी साइट प्रदर्शित कर सकते हैं! उस से कोई आसान नहीं मिलता है! आपका सर्वर कभी बोतल की गर्दन नहीं होगा!

यदि आप एपीआई के माध्यम से लेख प्राप्त कर सकते हैं तो मैं मौजूदा सेटअप से चिपक जाता हूं, ग्राहक के पक्ष में हर जगह रखता हूं।

0

वास्तव में कम मांग वाली चीजों के लिए, यह वास्तव में पूरी बात नहीं करेगा। यदि आपके पास प्रति उपयोगकर्ता बड़ी संख्या में कार्य हैं तो आप सर्वर की तरफ विचार करना चाहेंगे। यदि आपके पास बड़ी संख्या में उपयोगकर्ता हैं, और केवल कुछ कार्य (प्रति उपयोगकर्ता को खींचने के लिए ट्वीट्स या जो भी हो), क्लाइंट साइड AJAX शायद जाने का तरीका है। जहां तक ​​आप लेखों को शामिल करते हैं, मैं उस डेटा के आकार के कारण सर्वर पर जाउंगा जहां आप काम करेंगे ..

1

मैं ट्विटर एपीआई को कॉल करने के लिए क्लाइंट-साइड का उपयोग करने की सलाह दूंगा। अपने सर्वर को कॉल करने से बचें। क्लाइंट-साइड जेएस का उपयोग करने का एकमात्र गिरावट यह है कि आप नियंत्रित नहीं कर सकते कि दर्शक को जेएस निष्क्रिय किया गया है या नहीं।

स्ट्रीम में आप किस प्रकार का लेख शामिल करना चाहते थे?सीधे अपनी वेबसाइट या बाहरी लेखों पर ब्लॉग पोस्ट की तरह?

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