تصحيح الأخطاء في خوادم Node.js الوكيلة وإصلاحها

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

من الممارسات الجيدة التأكّد من أنّ أي رمز Node.js تضيفه إلى خادم وكيل يعمل قبل نشره على Edge. يتناول هذا الموضوع طرقًا لتصحيح أخطاء الخوادم الوكيلة التي تتضمّن تطبيقات Node.js وحلّ المشاكل فيها بعد نشرها.

زيادة حجم مجموعة الاتصالات لتحسين الأداء

إذا لاحظت بطء الأداء، قد تتمكّن من حلّ المشكلة عن طريق زيادة حجم مجموعة ربط Node.js التلقائية باستخدام maxSockets، أو عن طريق إيقاف تجميع المقابس تمامًا. لمزيد من المعلومات والرمز النموذجي، يُرجى الاطّلاع على نصائح حول أداء Node.js: تجميع المقابس في "منتدى Apigee".

عرض سجلّات Node.js

للاطّلاع على معلومات السجلّ حول تطبيق Node.js، اتّبِع الخطوات التالية:

  1. في صفحة خوادم وكيل واجهة برمجة التطبيقات الرئيسية، انقر على الخادم الوكيل الذي تريد عرضه.
  2. في صفحة الملخّص الخاصة بالخادم الوكيل المحدّد، انقر على سجلات Node.js على الجانب الأيسر من شريط الأدوات.

في صفحة "السجلات"، يمكنك اختيار نطاق زمني للسجلات المطلوب عرضها، كما هو موضّح أدناه. تسجّل السجلّات طلبات طريقة HTTP، ونجاح الطلبات أو تعذّرها، ورسائل console.log، وما إلى ذلك. أدخِل سلسلة بحث في حقل البحث لعرض جميع إدخالات السجلّ التي تحتوي على السلسلة.

استخدام أداة التتبُّع

أداة التتبُّع مفيدة لتصحيح أخطاء الخادم الوكيل بشكل عام. للحصول على معلومات تفصيلية حول استخدام أداة التتبُّع، يُرجى الاطّلاع على استخدام أداة التتبُّع.

طباعة نتائج وحدة التحكّم

يمكنك تضمين عبارات console.log في رمز Node.js وعرض الناتج في أداة التتبُّع. على سبيل المثال، تطبع العبارة التالية قيمة المتغيّر config.user:

console.log('Logging in as %s', config.username);

لعرض ناتج رسائل console.log في أداة "التتبُّع"، استدعِ واجهة برمجة التطبيقات في أداة "التتبُّع" وانقر على الناتج من جميع المعاملات لفتح لوحة الناتج:

بافتراض أنّك نفّذت الرمز التالي...

var http = require('http');

console.log('node.js application starting...');

var svr = http.createServer(function(req, resp) {
    resp.end('Hello, World!');
});

svr.listen(9000, function() {
    console.log('Node HTTP server is listening');
});

... تظهر عبارات وحدة التحكّم في اللوحة:

ضبط إعدادات المهلة المستهدَفة في Nginx

إذا كنت تستخدم Nginx كخادم وكيل وظهرت لك أخطاء "Bad Gateway"، جرِّب زيادة مهلة الخادم الوكيل Nginx كما هو موضّح هنا:

على سبيل المثال:

proxy_connect_timeout       60;
proxy_read_timeout          120;

يمكن أن يحدّد الوقت الذي يستغرقه الخادم للردّ إعدادات المهلة المثالية. على سبيل المثال، قد يكون مهلة القراءة التي تتراوح بين 45 و60 ثانية مثالية لتوفير مساحة تخزين مؤقت معقولة.

ضبط إعدادات المهلة المستهدَفة في Apigee

يمكنك أيضًا ضبط قيم المهلة التلقائية في Apigee في العنصر HttpTargetConnection في TargetEndpoint. القيم التلقائية هي:

connect.timeout.millis - 60 seconds
io.timeout.millis - 120 seconds
<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

اطّلِع أيضًا على مرجع خصائص نقطة النهاية.

لمزيد من المعلومات

لمزيد من المعلومات عن تصحيح الأخطاء، يُرجى الاطّلاع على:

الخطوات التالية

للحصول على معلومات حول إتاحة وحدات Node.js في Apigee Edge، بما في ذلك معلومات حول إتاحة HTTP/HTTPS وTLS ومواضيع متقدمة أخرى، يُرجى الاطّلاع على التعرّف على إتاحة Edge لوحدات Node.js.