إذا كنت تقوم بإنشاء تطبيقات تحتاج إلى التعامل مع مجموعة من الأشياء في وقت واحد، مثل معالجة البيانات في الوقت الفعلي أو الكثير من الطلبات المتزامنة، فلا يمكن مقارنة PHP وGo. Go يحصل فقط على التزامن، في حين أن PHP تبدو وكأنها تكافح من أجل مواكبة ذلك. دعونا نتعمق في سبب كون نموذج التزامن الخاص بـ Go يغير قواعد اللعبة.
لم يتم تصميم PHP مطلقًا للتعامل مع مهام متعددة في وقت واحد. تتم معالجة كل طلب في عملية واحدة، مهمة واحدة في كل مرة. يعمل هذا بشكل جيد مع تطبيقات الويب النموذجية (مثل CMS أو منصات التجارة الإلكترونية)، ولكن إذا حاولت إجراء بيانات في الوقت الفعلي أو معالجة متزامنة، فإن PHP ستصطدم بالحائط بسرعة. يمكنك استخدام أدوات مثل ReactPHP أو PHP Threading Extensions لفرض مستوى معين من التزامن، لكنه أمر صعب. تضيف هذه الحلول طبقة من التعقيد ولا تعمل بشكل جيد مع نظام PHP البيئي، مما يؤدي في النهاية إلى خلق حالة من الفوضى.
من تجربتي، يبدو التعامل مع التزامن في PHP وكأنه تصحيح لقارب متسرب — هناك دائمًا شيء آخر يحتاج إلى الإصلاح، ويصبح التوسع كابوسًا.
ومع ذلك، فإن نموذج التزامن الخاص بـ Go هو المستوى التالي. لدى Go هذا الشيء الذي يسمى goroutines، والذي يشبه الخيوط خفيفة الوزن للغاية. يمكنك تشغيل الآلاف منها دون استنزاف موارد نظامك. هل تريد تشغيل طلبات API متعددة في وقت واحد؟ ما عليك سوى إعداد نظام goroutine لكل واحد منهم، وسيتعاملون جميعًا مع عملهم جنبًا إلى جنب. بعد ذلك، تتيح لك القنوات تمرير البيانات بين هذه الأجهزة، مع الحفاظ على مزامنة كل شيء.
في المرة الأولى التي استخدمت فيها Go في مشروع يحتاج إلى معالجة البيانات في الوقت الفعلي، لقد صدمت بصراحة من مدى سلاسة الأمر. لا توجد مكتبات إضافية، ولا إعدادات غريبة - فقط التزامن السريع والفعال بمجرد إخراجه من الصندوق.
بالنسبة لموقع ويب أساسي، تعد PHP أمرًا جيدًا، ولكن إذا كان مشروعك يتضمن مهام متوازية وشديدة التحمل، فإن Go ستغير قواعد اللعبة تمامًا. إنه ليس أسرع فحسب، بل إنه يغير طريقة تفكيرك في إنشاء تطبيقك وتوسيع نطاقه. إذا كنت بحاجة إلى التزامن الحقيقي، فإن Go هو الفائز الواضح.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3