نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
HAProxy هو تطبيق برنامج شبكة يوفر توفرًا عاليًا ، وموازنة للحمل ، وعمل خوادم بروكسي لتطبيقات شبكة TCP و HTTP. وهي مناسبة لمواقع الويب عالية الحركة ، وتعمل على تشغيل العديد من المواقع الشائعة عبر الويب. ستوضح لك هذه المقالة كيفية تثبيت HAProxy وتكوينه على Debian 9.1.
على الرغم من أن HAProxy يحتوي على العديد من الميزات البارزة ، إلا أن هذه المقالة تركز على كيفية إعداد HAProxy إلى "وكيل" تطبيق الويب الخاص بك.
يشحن Debian 9 بالفعل مع HAProxy 1.7 (أحدث إصدار مستقر في وقت الكتابة) ، ويمكننا تثبيته ببساطة باستخدام apt-get:
# apt-get update
# apt-get install haproxy
إذا كانت الأوامر السابقة ناجحة ، فقد قمت بتثبيت HAProxy ويمكنك المتابعة إلى الخطوة التالية.
ينقسم ملف تكوين HAProxy إلى قسمين - "عام" و "بروكسيات". يتعامل المرء مع التكوين على مستوى العملية ، بينما يتكون الأخير من التكوين الافتراضي وأقسام الواجهة الأمامية والخلفية.
باستخدام محرر النصوص المفضل لديك ، افتح /etc/haproxy/haproxy.cfgولاحظ الأقسام المحددة مسبقًا: "عام" و "افتراضيات". أول شيء قد ترغب في القيام به هو زيادة maxconnحجم معقول ، لأن هذا يؤثر على الاتصالات التي يسمح بها HAProxy. قد يتسبب عدد كبير جدًا من الاتصالات في تعطل خدمة الويب بسبب العديد من الطلبات. ستحتاج إلى ضبط الحجم لمعرفة ما يناسبك. في القسم العالمي ، اخترنا maxconnقيمة 3072.
global
daemon
maxconn 3072
في القسم الافتراضي ، أضف السطر التالي تحت الوضع http:
option forwardfor
سيؤدي هذا إلى إضافة X-Forwarded-Forرؤوس لكل طلب ، مما يسمح لخوادم الواجهة الخلفية بمعرفة عنوان IP الأصلي للمستخدم.
أيضًا ، أضف هذا السطر لتمكين وضع إغلاق اتصال HTTP على جانب الخادم مع الحفاظ على القدرة على دعم استمرار HTTP على جانب العميل. هذا يقلل من الكمون من جانب العميل ويساعد في الحفاظ على موارد الخادم:
option http-server-close
إذا كنت ترغب في استخدام البقاء على قيد الحياة على جانبي العميل والخادم ، فيمكنك استخدام option http-keep-aliveبدلاً من ذلك. يفيد هذا الخيار بشكل خاص عندما تكون تكلفة إنشاء اتصال جديد بالخادم مهمة مقارنة بتكلفة استرداد المورد المطلوب.
أخيرًا ، سيبدو ملف التكوين الناتج كالتالي:
defaults
mode http
option forwardfor
option http-server-close
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
لإعداد الوكيل الخاص بك ، ستحتاج إلى إضافة قسمين إلى ملف التكوين لتحديد جزئي الوكيل: الواجهة الأمامية والواجهة الخلفية.
ستتعامل الواجهة الأمامية مع اتصالات HTTP الخاصة بك. أضف ما يلي إلى نهاية ملفك haproxy.cfg:
frontend http-frontend
bind public_ip:80
reqadd X-Forwarded-Proto:\ http
default_backend wwwbackend
تأكد من استبدال public_ipعنوان IP العام لخادمك أو اسم المجال.
قم بإعداد الواجهة الخلفية بإضافة الأسطر التالية إلى نهاية ملف التكوين الخاص بك:
backend wwwbackend
server 1-www server1_ip:80 check
server 2-www server2_ip:80 check
server 3-www server3_ip:80 check
يقوم تكوين الواجهة الخلفية المستخدم هنا بإنشاء 3 اتصالات مسماة X-www. ( Xهو 1 أو 2 أو 3.) كل واحد منهم يتوافق مع serverX_ip:80 عنوان. (استبدلها serverX_ipبعناوين IP الخاصة بمثيلات Vultr.) سيسمح لك هذا بتحميل التوازن بين كل خادم في مجموعة الخادم المحددة (بافتراض أن كل عنوان IP يتوافق مع خادم مختلف). و checkالخيار يجعل موازن التحميل إجراء فحوصات طبية على الخادم.
احفظ ملف التكوين ، ثم أعد تشغيل HAProxy:
service haproxy restart
إذا كان كل شيء يعمل ، فستتمكن من الاتصال بـ http://public_ip/(استبداله بعنوان IP العام أو اسم المجال الخاص بك كما تم تكوينه في خطوة الواجهة الأمامية) وعرض موقع الويب الخاص بك.
إذا رفض مثيل HAProxy الخاص بك البدء بعد التعديلات ، فمن المحتمل أن يكون لديك خطأ في مكان ما في ملف التكوين. للحصول على رسائل واضحة حول المشكلة في ملف التكوين ، يمكنك محاولة بدء HAProxy يدويًا باستخدام هذا الأمر:
# haproxy -f /etc/haproxy/haproxy.cfg
على سبيل المثال ، إذا رأيت إخراج مثل هذا:
[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.
ثم نسيت تحديد رقم المنفذ للخادم 1-www.
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد