كم عدد أجهزة ضبط النفس التي يجب أن أخلقها؟

StackOverflow https://stackoverflow.com//questions/24043679

  •  21-12-2019
  •  | 
  •  

سؤال

في الأصل قامت التعليمات البرمجية بإنشاء httplient جديدة في بيان باستخدام كل طلب. ثم قرأت عدة مقالات حول إعادة استخدام httpclient لزيادة الأداء.

هنا مقتطف من إحدى هذه المقالات:

أنا لا أوصي بإنشاء httpclient داخل كتلة باستخدام لجعل طلب واحد. عندما يتم التخلص من httpclient يسبب الأساس اتصال أن تكون مغلقة أيضا. هذا يعني أن الطلب التالي يجب أن إعادة فتح هذا الاتصال. يجب أن تحاول إعادة استخدام httpclient الخاص بك الحالات.

http://www.bizcoder.com/httpclient- - يعيش - وهو - غير مجيد

يبدو لي أن ترك اتصال مفتوح سيكون مفيدا فقط إذا انتقلت طلبات متعددة في صف نفس الأماكن - مثل www.api1.com.

سؤالي هو، كيف يجب علي إنشاء أجهزة HspClients؟

موقع الويب الخاص بي يتحدث إلى حوالي عشرة خدمات مختلفة في النهاية الخلفية.

يجب أن أقوم بإنشاء httpclient واحد لكل منها للاستهلاك، أو يجب أن أقوم بإنشاء httpclient منفصلة لكل مجال يمكنني استخدامه في النهاية الخلفية؟

مثال: إذا كنت أتحدث مع www.api1.com و www.api2.com، هل يجب أن أقوم بإنشاء جهاز عرض خاصين متميزين، أو فقط httpclient واحد؟

هل كانت مفيدة؟

المحلول

في الواقع، لن يغلق التخلص من HTTPClient اتصال TCP / IP الأساسي من تجمع الاتصال.أفضل سيناريو الأداء الخاص بك هو ما اقترحته:

  • احتفظ بمثيل applient على قيد الحياة لكل خدمة خلفية تحتاج إلى الاتصال أو مدى عمر طلبك.

  • اعتمادا على التفاصيل التي لديك حول الخدمة الخلفية، قد ترغب أيضا في الحصول على عميل لكل واجهة برمجة تطبيقات متميزة على خدمة النهاية الخلفية أيضا.(يمكن أن يكون API في نفس المجال توجيه في كل مكان.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top