خدمة Springboot 503 غير متوفرة

0

أعتذر سلفا عن الكتابة الطويلة!

خلفية:

تحتوي الخدمة التي أعمل عليها على الواجهة الأمامية للزاوية 7 ، والخلفية لـ springboot 2.0.0.RELEASE ، وطبقة قاعدة بيانات من MongoDB (أحدث إصدار من Docker). تعمل جميع طبقات التطبيق الثلاث في حاوية عامل الميناء الخاصة بها على نفس جهاز RHEL ، ولكنها كلها على نفس شبكة عامل الميناء.

يتم استضافة التطبيق الزاوي بشكل ثابت من خلال حاوية nginx ويعمل Springboot كوعاء مع هذا الأمر 'java -jar app.jar'. لم أغير وحقول Docker باستثناء المنافذ ، لذا فإن جميع الخيارات الأخرى لـ docker هي الافتراضية.

مشكلة:

عندما أقوم بتشغيل الحاويات الثلاثة وحاولت تشغيل اختبارات المنقلة e2e ضدهم ، سوف أتلقى بشكل متقطع 503 خدمة غير متوفرة من الواجهة الخلفية. لدي مجموعة مكونة من 12 اختبارًا تعمل جميع الاختبارات بالتسلسل. أنتظر حتى تنتهي جميع الحاويات بالكامل قبل تنفيذ الاختبارات وستفشل بشكل عشوائي في أي من الاختبارات الـ 12. بعد فشل الاختبار ، سأجري خطوات الاختبار يدويًا وأحاول النسخ المتماثل ، ولكنه يمر دائمًا. عندما أقوم بتشغيل الواجهة الخلفية كقاعدة تمهيدية متدرجة في حاوية عامل ميناء ، لا أواجه أي مشاكل. لذا ، فإن المشكلة هي فقط عندما أحاول تشغيل الاختبارات الآلية ضد البرطمان المُرسى.

لقد قمت بزيادة التسجيل من DEBUG إلى TRACE على سجلات الويب الربيعية وكل شيء يتحقق على ما يرام.

أعتقد أن هذه مشكلة في الذاكرة. هل يمكن أن تكون مشكلة في كومة جافا مع تشغيل java jar أو زيادة عدد مكالمات api إلى الواجهة الخلفية أو إلى قاعدة البيانات؟ يمكن أن يكون هذا مرتبطًا بتخصيص قدر كبير من الذاكرة لحاويات mongo و nginx.

سيكون موضع تقدير كبير أي معلومات أو فرضية بديلة لحل هذه المشكلة. شكر!

1 إجابة

0

هل قمت بالفعل بتحليل استخدام الذاكرة؟ إذا كانت مشكلة في الذاكرة ، فقد يساعد ذلك:

من المعروف أن mongo يخصص ذاكرة شديدة العدوانية ، خاصة أن محرك تخزين النمر السلكي يأكل الذاكرة فقط. أيضا ، في الحاوية ، لا يعلم أي شخص آخر يستخدم الذاكرة. قد ترغب في إخبارها بأنها أقل جشعًا:

https://docs.mongodb.com/manual/core/wiredtiger/#memory-use

أيضًا ، من الأفضل تحديد موارد كل حاوية (خاصة إذا كانت تتنافس على نفس الجهاز):

https://docs.docker.com/config/containers/resource_constictions/#limit-a-containers-access-to-memory

أتمنى أن يساعدك هذا

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام