مرحباً، لقد كنت أعمل مع بعض الأشخاص الآخرين لإنهاء ترحيل مخصص من vbulletin3 القديم الخاص بنا إلى discourse. الآن حان الوقت لبدء التفكير في جوانب أخرى للترحيل، أحدها هو حقيقة أن لدينا حساب Cloudflare يخدم منتدانا.
نود الاحتفاظ به إذا أمكن لأن منتدانا يحتوي على الكثير من المتطفلين (وحوالي 1000 مستخدم نشط).
الخيط الوحيد الذي وجدته هنا والذي يحتوي على بعض المعلومات هو من عام 2015، لذلك أسأل عما إذا كانت هناك أي وثائق “رسمية” ربما فاتني والتي تحدد كيفية إعداد Cloudflare مع discourse بشكل صحيح.
ثانياً، أود أن أعرف ما إذا كانت هناك عملية يجب اتباعها لـ:
يخدم كيف؟ الأسهل هو استخدام وضع DNS. إذا كنت ترغب في قضاء بعض الوقت الإضافي مقابل فائدة قليلة جدًا، فهناك بعض المواضيع حول ذلك. في الغالب، تقوم بتعطيل التحسينات التي تكسر الخطاب. إذا كان ما تريده هو تخفيف بعض العبء عن خادمك، فإن شبكة توصيل محتوى حقيقية مثل bunny.net هي الطريق الصحيح.
أعتقد أن الإحصائيات والبحث يجب أن تعملا بشكل صحيح.
قد يكون من قصر النظر بعض الشيء التلميح إلى أن Cloudflare ليست “شبكة توصيل محتوى حقيقية”؟ لأنها كذلك (وأكثر من ذلك). ربما كنت تقصد شبكة توصيل محتوى “تقليدية”؟
إن إعداد شبكة توصيل محتوى تقليدية سيكلف الكثير من الوقت وسيمنحك نفس القدر تقريبًا من الفائدة.
وقد تكون Cloudflare أرخص، حيث أن الإصدار المجاني كافٍ على الأرجح للكثير من الأشخاص. يبدو أنه هناك دائمًا موضوع نشط حيث قام شخص ما بتعطيل موقعه باستخدام Cloudflare، وأسهل طريقة لجعله يعمل، تبدو هي إيقاف تشغيل كل التحسينات حتى لا يزيد زمن الاستجابة إلا قليلاً.
إذا كنت ستنشئ موضوعًا يصف كيفية تكوين Cloudflare بحيث يوفر نفس فائدة شبكة توصيل المحتوى التقليدية، فقد يكون ذلك مفيدًا جدًا بالفعل. ربما يكون الأمر بسيطًا مثل تعطيل Rocket Loader، ولكن يبدو أن كيفية إعداده بالضبط قد تكون هدفًا متحركًا (حيث يغيرون ويحسنون منتجهم).
أنا آسف، لا أريد إثارة نقاش حول أي شبكة توصيل محتوى (CDN) هي الأفضل وما إلى ذلك.
لم أحصل على مزيد من المعلومات بنفسي ولكن على حد فهمي، يستخدم المنتدى حاليًا خطة مدفوعة (لذا ليس الخيار المجاني على ما أعتقد) ولكن حتى ذلك الحين، هذا يتجاوز النقطة.
سؤال بسيط → ماذا أحتاج أن أفعل لإعداد Cloudflare بحيث لا يزعج Discourse؟
بعد ذلك، يسعدني جدًا أن أفهم ما إذا كان هذا شيئًا مطلوبًا حقًا أم لا (بمعنى الفوائد وما إلى ذلك)
أيضًا، إذا كان بإمكان شخص ما أن يعطيني رابطًا أو شيئًا ما حول السؤالين الصغيرين الآخرين، فسيكون ذلك رائعًا
سأستخدم الأسبوع المقبل لإجراء بعض الاختبارات في بيئة تجريبية، لذا لا شيء محدد!
إذا كنت تستضيف بواسطة discourse.org ، أو أي شخص آخر ، في هذا الشأن. يجب عليك التحقق معهم قبل القيام بأي شيء متعلق بـ cloudflare. عادةً ما تقوم بإنشاء CNAME لنظام أسماء النطاقات (DNS) يشير إلى خوادمهم. لدى Discourse.org شبكات توصيل محتوى (CDNs) بالفعل ، لذلك لا داعي للقلق.
شكرا @pfaffman، إنه مستضاف ذاتيًا. كما ذكرت، يتم استخدامه لمنتدى vbulletin الحالي الذي سيتم إيقافه ببساطة واستبداله بـ discourse الذي سيستجيب من نفس اسم النطاق.
يعتمد الأمر على الدور الذي تريده (إن وجد) لـ Cloudflare.
إذا كنت تريد فقط استخدام Cloudflare كنظام أسماء النطاقات (DNS)، فتأكد من تعطيل السحابة البرتقالية لسجل “a” للمنتدى.
إذا كنت تريد بالفعل إرسال حركة مرور Discourse عبر شبكة Cloudflare وكنت على ما يرام مع زمن الاستجابة الإضافي الذي تضيفه، فأنشئ على الأقل قاعدة صفحة لـ “تعطيل الأداء” لنطاق المنتدى بأكمله. لا يُنصح بأي من تحسينات أداء Cloudflare وقد ثبت أنها تكسر المواقع.
لاحظ أن هناك قالب Cloudflare يجب إضافته إلى ملف app.yml الخاص بك، وسيقوم بتمرير CF-Connecting-IP كعنوان IP للعميل، حتى لا ترى الجميع قادمين من عقدة في شبكتهم.
إذا لم تكن تستخدم تخزين الكائنات وتعمل مع تمكين السحابة البرتقالية، فيمكنك إنشاء قاعدة تخزين مؤقت لمسار الأصول الخاص بك.
تم استخدام Cloudflare (ولا يزال قيد الاستخدام حاليًا) لتجنب إرهاق خادم الويب الفعلي بالطلبات.
كنت أتساءل في المقام الأول، مع طبيعة Discourse للتحديثات في الوقت الفعلي (أفترض أنها تستخدم websocket؟ لم أتحقق) كيف يمكن أن يمثل ذلك مشكلة مع شيء مثل التخزين المؤقت لـ Cloudflare وكل ذلك. لهذا السبب كنت أتساءل عما إذا كانت هناك أي مستندات أو أي نصائح لدى أي شخص
لا أعرف شيئًا ولهذا السبب أشعر بالضياع بين الحين والآخر، ولكن يبدو أنك تبحث عن طبيعة PHP ولكنك تحصل على طبيعة تطبيق JavaScript حيث يحدث كل شيء باستثناء الحصول على البيانات الفعلية على جهاز المستخدم.
هذا هو السبب (ومهاراتي المحدودة) لماذا فشلت محاولاتي لوضع Varnish أمام Discourse فشلاً ذريعًا.
بالتأكيد، يمكنك تقديم الأصول من شبكة توصيل المحتوى (CDN) ولكن هذا كل شيء.
لا أعرف ما يكفي عن تصميم Discourse ولكن التفكير في وجود redis بالفعل يدير بعض التخزين المؤقت للطلبات الشائعة. هذا يفسر “عدم الحاجة الفعلية لـ Cloudflare”.
إذًا، هل أفهم بشكل صحيح أنه لا يوجد فائدة كبيرة أو معدومة من وجود Cloudflare أمام تثبيت Discourse، وعلى العكس من ذلك، فإنه سيبطئ الاستجابة بدلاً من ذلك (قفزات الشبكة)؟
السبب الوحيد لـ Cloudflare لتثبيت vbulletin3 هو أن كمية الطلبات ستطغى على الخادم و (مجرد افتراض هنا) قد يكون ذلك بسبب العمل الضعيف في تصميم الكود لـ vbulletin3 بصراحة لأن الجهاز الافتراضي الذي يستضيفه هو 4vcore، 8 جيجابايت رام للتطبيق نفسه وجهاز افتراضي آخر بمواصفات متساوية لقاعدة البيانات.
لا توجد طريقة يحتاج فيها أي تطبيق ويب حديث إلى هذه القوة اليوم.
بالحديث عن ذلك، هل هناك أي مرجع يمكنني استشارته لتقييم مقدار الأجهزة التي أحتاجها لتثبيت Discourse الذي لديه في المتوسط حوالي 1000 مستخدم نشط و 5-6 آلاف متصفح؟
هذا ليس صحيحًا تمامًا. خاصة عند التحميل الأول، يمكن لـ Cloudflare تسريع تحميل الأصول الثابتة لـ Javascript. وهذا بالضبط أحد الأشياء التي تنظر إليها Google لتحديد ما إذا كان موقعك سريعًا بما يكفي لتجنب عقوبة محرك البحث. تكون الفوائد أكبر عندما يكون لديك منتدى تسويقي يجذب المستخدمين من محركات البحث، وتكون العيوب أكبر عندما يكون لديك منتدى به مجموعة نشطة من المستخدمين العائدين.
لا، لأن الأمر يعتمد حقًا على ما إذا كان هؤلاء المستخدمون نشطين للغاية أم أنهم يزورون مرة واحدة في اليوم. لقد رأيت مجموعة من أقل من 50 شخصًا يتبادلون الصور الكبيرة ويستخدمون Discourse كصندوق دردشة طوال اليوم مما أدى إلى إجهاد أجهزة قوية جدًا، بينما رأيت أيضًا منتدى به 10000 شخص يأتون لنشر شيء مرة واحدة في الأسبوع وأكثر من 30 مليون متصفح يعملون على VPS متوسط.