المقدمة
ووركرمان ، حاوية تطبيقات PHP عالية الأداء
ما هو ووركرمان؟
ووركرمان هو حاوية تطبيقات PHP مفتوحة المصدر عالية الأداء مطوّرة بالكامل بلغة PHP.
ووركرمان ليست عبث في إعادة اختراع العجلة، إنها ليست إطار عمل MVC ولكنها حاوية خدمات عملية أكثر عمومية وأقل من الطبقة التي تمكنك من استخدامها لتطوير وكيل tcp ووكيل الشبكة الخاص بالانترنت، وخوادم الألعاب، وخوادم البريد الإلكتروني، وخوادم FTP، وحتى تطوير نسخة PHP من redis وقاعدة بيانات و nginx و php-fpm وما إلى ذلك. يمكن القول أن ووركرمان هو إبتكار في مجال PHP يتيح للمطورين التخلص تمامًا من قيود أن PHP يمكن فقط استخدامه لتطوير الويب.
في الواقع، ووركرمان يشبه إصدار PHP من NGINX، فهو يستخدم أيضا متعدد العمليات + Epoll + IO غير المانع. يمكن لكل عملية في ووركرمان أن تحتفظ بآلاف الاتصالات المتزامنة. ونظرًا لأنها تتجه إلى البقاء في الذاكرة، دون الاعتماد على أدوات مثل Apache، NGINX، PHP-FPM، فإنها تتمتع بأداء عالٍ للغاية. كما أنها تدعم TCP و UDP و UNIXSOCKET، وتدعم الاتصالات الطويلة وبروتوكولات الاتصال مثل Websocket و HTTP و WSS و HTTPS بالإضافة إلى مختلف البروتوكولات المخصصة. وتحتوي أيضًا على مؤقتات وعملاء مأخوذين بالغفلة، وRedis و HTTP و Mqtt غير المتزامنين، والكثير من المكونات عالية الأداء الأخرى.
بعض اتجاهات التطبيق لووركرمان
ووركرمان لا يشبه الإطار العمل التقليدي لـ MVC، حيث يمكن استخدامه لتطوير تطبيقات الويب ولديه أيضًا مجالات تطبيق أوسع مثل الاتصال الفوري، والإنترنت من الأشياء، والألعاب، وحوكمة الخدمات، وغيرها من الخوادم أو الوسيط. هذا بالتأكيد يوفر زيادة كبيرة في رؤية مطوري PHP. حاليًا، هناك نقص كبير في مطوري PHP في هذه المجالات. إذا كنت ترغب في امتلاك ميزة تقنية خاصة بك في مجال PHP، وليس فقط تلك الأعمال اليومية للبحث والإضافة والتعديل، أو إذا كنت ترغب في التطوير نحو مجالات التخطيط المعماري أو المتخصصين التقنيين، فووركرمان يستحق بالتأكيد التعلم. وننصح المطورين بعدم الاكتفاء فقط بإتقان الاستخدام، ولكن يفضل أن يتعلموا كيفية تطوير مشروعات مفتوحة المصدر بناءً على ووركرمان، حتى يتمكنوا من تطوير مهاراتهم وزيادة تأثيرهم الشخصي، مثل إطار عمل تجسيد شبكي لأكثر من عملية، Beanbun، فقد حصل على العديد من التقييمات الإيجابية بمجرد طرحه حديثاً.
بعض اتجاهات تطبيق ووركرمان التي يمكن ذكرها:
- الاتصال الفوري، مثل الدردشة عبر الإنترنت، وإرسال الرسائل الفورية، وتطبيقات الدردشة الفورية على الويب، وإرسال الرسائل لتطبيقات الهاتف المحمول وبرامج سطح المكتب.
- الإنترنت من الأشياء، مثل التواصل مع الطابعات، والتواصل مع شرائح الكمبيوتر المفردة، والأساور الذكية، والمنازل الذكية، ودراجات الدراجات الذكية.
- خوادم الألعاب، مثل ألعاب الشطرنج على الإنترنت، وألعاب MMORPG.
- خدمات HTTP، مثل كتابة واجهات برمجة التطبيقات عالية الأداء ومواقع الويب عالية الأداء.
- خدمات SOA، باستخدام ووركرمان لتجميع الوحدات الوظيفية المختلفة الموجودة في الأعمال الحالية كخدمات لتقديم واجهة موحدة للخارج لتحقيق فصل النظام وسهولة الصيانة والإتاحة العالية وسهولة التوسع، مثل workerman-json-rpc، workerman-thrift.
- برمجيات الخوادم الأخرى مثل GatewayWorker، PHPSocket.IO، proxy http، proxy sock5، مكون اتصال موزع، مكون مشترك للبيانات، طابور الرسائل، خادم DNS وخادم ويب وخادم CDN وخادم FTP وما إلى ذلك.
- مكونات مثل redis متسلسل غير المتزامن، عميل HTTP غير المتزامن، عميل MQTT للإنترنت من الأشياء، طابور رسائل ايرديس، تقنية stomp، rabbitmq، مراقب ملفات، بالإضافة إلى العديد من الإطارات لتطوير مكونات الطرف الثالث والكثير من المكونات الأخرى.
من الواضح أنه من الصعب على الإطار التقليدي للـ MVC تنفيذ هذه الوظائف، وهذا هو سبب ولادة ووركرمان.
فلسفة ووركرمان
تبسيط، استقرار، أداء عالي، توزيع.
تبسيط
الصغر جمال، ووركرمان النواة بسيطة للغاية، تتكون فقط من عدة ملفات PHP وتقدم واجهات برمجة التطبيقات قليلة، مما يجعل عملية التعلم سهلة للغاية. جميع الوظائف الأخرى تمتد من خلال المكونات.
ووركرمان لديها وثائق كاملة + موقع رئيسي موثوق به + مجتمع نشط + العديد من مجموعات QQ مع الآلاف من الأعضاء + العديد من المكونات عالية الأداء + عدد لا يحصى من الأمثلة. كل هذا يجعل من استخدام الووركرمان شيئًا سهل التطبيق للمطورين.
استقرار
ووركرمان مفتوح المصدر منذ سنوات عديدة ويتم استخدامه على نطاق واسع من قبل الشركات المدرجة في البورصة وهو مستقر للغاية. بعض الخدمات لم تعد تُعاد تشغيلها منذ أكثر من عامين ولا تزال تعمل بسرعة كبيرة. لا توجد أخطاء في النواة، ولا تسرب الذاكرة، ولا يوجد أخطاء.
أداء عالي
بسبب البقاء في الذاكرة، وعدم الاعتماد على Apache / nginx / PHP-FPM، وعدم وجود تكلفة الاتصال بين الحاويات و PHP وعدم وجود تكلفة إعادة تهيئة وتدمير كل طلب، لذا يتمتع بأداء عالٍ، ويتجاوز باستخدام أداء عالٍ مقدار 10 مرات مقارنة بالإطار التقليدي لـ MVC، وفي PHP7 ، فإن الضغط المضاف من قبل ab يتجاوز حتى أداء nginx الفردي.
توزيع
الشهادة العملية لم تعد تكون ناقصة، حتى لو كان أداء الخادم الفردي قويًا ، فهناك حدود. الإتجاه الصحيح هو نشر الأجهزة المتعددة، ووركرمان توفر مباشرة حلًا للاتصال الموزع مع الاتصال الطويل اطلع هنا ، مع رفع الخادم، كل ما عليك هو تكوين بسيط ثم التشغيل، الكود المعمول به لا يتغير، وثمة نمو مضاعف في قدرة النظام. إذا كنت تنوي تطوير تطبيق اتصال طويل، فإننا ننصحك بشدة باستخدام GatewayWorker، إنها تجعل تطبيقات الاتصال الطويل أكثر قوة وتوفر واجهة برمجية أكثر غنى وقوية لتطبيقات الاتصال الطويل.
نطاق هذا الدليل
إصدارات ووركرمان 3.x - 4.x
لمستخدمي ويندوز (قراءة مهمة)
ووركرمان يدعم نظامي التشغيل Linux و Windows. الإصدار الخاص بـ Windows من ووركرمان لا يعتمد على أي توسيعات، كل ما عليك فعله هو تهيئة بيئة PHP بشكل جيد ثم يمكنك الاستفادة من ووركرمان على Windows. يمكن الاطلاع على المزيد من المعلومات والتحقق من الأشياء المهمة بالنسبة لويندوز هنا.
العميل
بروتوكول الاتصال في Workerman مفتوح وقابل للتخصيص، وبالتالي، من النظرية يمكن للووركرمان التواصل مع عميل من أي منصة تستخدم أي بروتوكول. عندما يقوم المستخدم بتطوير العميل، يمكنه القيام بالتواصل مع الخادم وفقًا للبروتوكول المحدد.