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

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

ومن الممارسات الجيدة التأكّد من أنّ أي رمز 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 كخادم وكيل وظهرت لك أخطاء "مدخل غير صالح"، يمكنك زيادة ضبط مهلة الخادم الوكيل 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.