1. اكتب بعض التكوينات التي يجب تغييرها في ملف الخصائص
على سبيل المثال ، لا يتم تعيين عدد مؤشرات الترابط المستخدمة عندما لا يتم تعيين بعض التنفيذ المتزامن ليكون قابلاً للتكوين في ملف الخاصية. بعد ذلك ، يمكن أن يعمل البرنامج بسلاسة وبدون اعتبار في كل من بيئات DEV وبيئات الاختبار ، ولكن بمجرد نشرها على مجموعات بيانات أكبر ومعالجتها كبرنامج متعدد الخيوط ، سيتم إلقاء ioException. قد يكون السبب هو أن البيئة عبر الإنترنت تسببها في وقت واحد أو أي شيء آخر. إذا كان يمكن تكوين عدد مؤشرات الترابط في ملف الخصائص ، فمن السهل جدًا جعلها تطبيقًا واحدًا ملولبًا. لم نعد بحاجة إلى نشر التطبيقات واختبارها بشكل متكرر لحل المشكلات. هذه الطريقة مناسبة أيضًا لتكوين عناوين URL والخوادم وأرقام المنافذ.
يوصى باستخدام ملفات السمات لتخليص هذه التكوينات ، وتنسيق الملف على ما يرام مع الخصائص ، Yaml و Hocon و JSON. تنفذ الفئة التالية دعم حقن الربيع للملفات في هذه التنسيقات ، بما في ذلك دعم العنصر النائب.
https://github.com/superhj1987/awesome-libs/blob/master/src/main/java/me/rowkey/libs/spring/config/AwesomeProperTyplaterConfigury.java
2. محاكاة البيئة عبر الإنترنت قدر الإمكان أثناء الاختبار
يتمثل السيناريو النموذجي في عملية الإنتاج في استخدام 1 إلى 3 حسابات فقط للاختبار ، ويجب أن يكون هذا الرقم من 1000 إلى 2000. عند إجراء اختبار الأداء ، يجب أن تكون البيانات المستخدمة صحيحة وغير متوقعة. إن اختبار الأداء الذي لا يقترب من البيئة الحقيقية قد يجلب أداءً غير متوقع وتوسيع ومشكلات متعددة القراءة. هنا يمكننا أيضًا استخدام بيئة ما قبل الإصدار لحل بعض المشكلات.
3. يجب إجراء المعالجة التي تتحمل الأخطاء لجميع المكالمات الخارجية والخدمات الداخلية.
سواء كانت مكالمة RPC أو مكالمة خدمة تابعة لجهة خارجية ، لا يمكننا أن نعتبرها أمرا مفروغا منه أن توفر 100 ٪. لا يُسمح بتهمة استدعاء الخدمة وإعادة المحاولة ، مما سيؤثر سلبًا على استقرار وأداء التطبيق.
4. يجب أن يتبع النظام مبدأ الحد الأدنى للأذونات عند تصميم نظام أمان
خدمات الويب موجودة في كل مكان ، مما يسمح للمتسللين باستغلالها بسهولة من أجل رفض هجمات الخدمة. لذلك ، عند تصميم نظام ، تحتاج إلى اتباع مبدأ "الحد الأدنى من الأذونات" واعتماد أساليب بيضاء وطرق أخرى.
5. المستندات التالية مطلوبة
اكتب وثائق اختبار الوحدة ولديها تغطية رمز جيدة.
رسم تصميم رفيع المستوى: يصف جميع المكونات والتفاعلات والهياكل.
رسومات تصميم مفصلة: خاصة بتصميم مستوى التعليمات البرمجية وبعض عمليات المنطق الرئيسية.
مستند تكوين النظام: يشرح جميع ملفات التكوين وملفات التكوين وما إلى ذلك من النظام.
تحتاج مستندات DML و DDL على مستوى قاعدة البيانات ، وخاصة بيانات استعلام SQL ، إلى الذهاب إلى DBA أو مراجعة المطورين الأساسيين قبل إطلاقها.
ليس فقط لعمليات التنمية التقليدية ، ولكن حتى بالنسبة للتنمية الرشيقة ، فإن هذه الوثائق ضرورية ، وإلا فإنها ستؤدي إلى إزعاج كبير في الصيانة والتوصيل اللاحقين.
6. قم بعمل جيد في المراقبة واسترداد الأخطاء والنسخ الاحتياطي وغيرها من الوظائف الرئيسية للنظام
بالنسبة لبعض الوحدات الوظيفية الحاسمة للنظام ، يجب مراقبتها لمنعها من التأثير على تشغيل النظام والتسبب في خسائر غير معتمدة. بالإضافة إلى ذلك ، إذا كان ذلك ممكنًا ، حاول التعافي بعد مراقبة الخطأ ، وإرسال إنذار في حالة فشل الاسترداد. بالنسبة لبعض ملفات البيانات المهمة للغاية ، ينبغي القيام بنسخ احتياطية زائدة عن الحاجة لمنع بعض الإخفاقات المفاجئة وفقدان البيانات.
7. تصميم بعض الأعمدة التي يسهل تتبع التاريخ والتنظيم عند تصميم قاعدة البيانات.
على سبيل المثال ، يمكن لـ Create_time و update_time الإشارة إلى وقت إنشاء وتحديث السجل. Create_by و update_by يمكن أن يشير إلى من قام بإنشاء وتحديث السجل.
بالإضافة إلى ذلك ، لا يتم حذف السجلات في بعض الأحيان. في هذا الوقت ، من الضروري تصميم عمود يمثل حالة هذا السجل ، مثل عمود الحالة "النشطة" أو "غير النشطة".
8. وضع خطة تراجع المشروع
عند إطلاق الوظيفة الجديدة ، إذا لم تكن هناك خطة تراجع ، فقد تكون في عجلة من أمرها وتتسبب في عدم توفر الخدمات عبر الإنترنت لفترة من الوقت. هناك خطة تراجع جيدة تتيح لك إجراء العمليات ذات الصلة بطريقة منظمة واستعادة النظام إلى حالة يمكن تشغيلها في غضون وقت يتم التحكم فيه.
9. قبل إطلاق المشروع ، يجب إجراء التحليل الكمي
يجب إجراء التحليل الكمي للذاكرة ، قاعدة البيانات ، الملفات ، ذاكرة التخزين المؤقت ، إلخ. ويقدر احتلال المساحة في المستقبل ويوفر مرجعًا لتخصيص آلة التشغيل والصيانة. منع عدم كفاية التخزين ناتج عن النمو السريع لحجم البيانات. هذا أمر مهم للغاية ، وإلا فمن السهل التسبب في عدم توفر الخدمات عبر الإنترنت.
10. تطوير خطة نشر النظام.
يعد منصة نشر النظام جزءًا حاسمًا. لا يمكن أن يقتصر وصف منصة النشر على خادم واحد أو قواعد بيانات ، على الأقل يحتاج إلى تضمين
11. اختر الأداة/التكنولوجيا الأنسب
في كثير من الحالات ، يستخدم المطورون لغة أو أداة يريدون تعلمها في نظام الإنتاج. عادة ما لا يكون هذا هو الخيار الأفضل. على سبيل المثال ، استخدم قاعدة بيانات NOSQL للبيانات التي هي بالفعل في الواقع نموذج علائقي. سواء كانت لغة أو أداة ، فهناك سيناريوهات قابلة للتطبيق. لا يمكننا طلب الابتكار ، ولا يمكننا استخدام "الذات" كمعيار.
12. لديك احتياطيات المعرفة الكافية في بعض المجالات الفنية الرئيسية.
نمط التصميم
JVM توليف مشكلة التزامن متعددة الخيوط "
مشاكل المعاملات ، بما في ذلك مشاكل أداء المعاملات الموزعة ، بما في ذلك GC والحوسبة وغيرها من ذاكرة التخزين المؤقت
من خلال هذه المقالة ، آمل أن يكون الأصدقاء الذين يمكنهم المساعدة في تطوير برامج Java ، شكرًا لك على دعمكم لهذا الموقع!