Springboot-plus هو نظام إدارة خلفي يعتمد على SpringBoot 2، والذي يتضمن إدارة المستخدم وإدارة المؤسسة وإدارة الأدوار وإدارة نقاط الوظائف وإدارة القائمة وتخصيص الأذونات وتخصيص أذونات البيانات وإنشاء التعليمات البرمجية ووظائف أخرى.
يعتمد النظام على تقنية Spring Boot2، وتستخدم الواجهة الأمامية Layui2. تستخدم قاعدة البيانات MySQL كمثال، وهي من الناحية النظرية عبارة عن منصة مشتركة بين قواعد البيانات.
Plus عبارة عن منصة تطوير سريعة لـ Java مناسبة للأنظمة المتجانسة وتقسيم النظام، ويمكن أيضًا تحويلها إلى منصة خدمات صغيرة (اعتدت على إنشاء واحدة، لكنني شعرت أن Plus يجب أن يركز على جوهر النظام بدلاً من مجرد تكديس الوظائف. لذلك استسلمت)
فيما يلي الاختلافات بين الأنظمة المتجانسة والأنظمة الصغيرة والخدمات الصغيرة
يعد النظام المتجانس أحد أساليب تصميم الأنظمة الشائعة، وهو أيضًا أهم أسلوب تصميمي في السنوات العشر الماضية. جميع وظائف النظام الواحد موجودة في مشروع واحد، مجمعة في حزمة حربية، ومنشورة. وهذا له الفوائد الواضحة التالية:
1. طريقة تطوير النظام الفردي بسيطة عندما نتعلم البرمجة من البداية، يحتاج المطورون فقط إلى التركيز على تطوير المشروع الحالي.
2. من السهل التعديل إذا كنت بحاجة إلى تعديل أي وظيفة، فهي مريحة للغاية، ما عليك سوى تعديل الكود ضمن نطاق المشروع.
3. الاختبار بسيط، ليست هناك حاجة للنظر في أنظمة أخرى عند اختبار نظام واحد، وتجنب استدعاءات REST وMQ المختلفة المذكورة في المجلد الثاني من هذا الكتاب.
4. النشر أيضًا سهل للغاية: ليست هناك حاجة للنظر في العلاقة مع الأنظمة الأخرى، ما عليك سوى حزم الحزمة الحربية ونشرها على خادم الويب
5. من السهل توسيع الأداء، ويمكن نشر التطبيق على خوادم متعددة من خلال Nginx.
مع تطوير الأعمال وإعادة الإعمار، هناك المزيد والمزيد من الأنظمة المتجانسة. عند تطوير نظام متجانس ضخم، ستكون هناك العيوب التالية:
1. النظام الفردي ضخم، وأصبح من الصعب بشكل متزايد فهم النظام الفردي. تتضمن التغييرات الصغيرة مجموعة واسعة من الجوانب، مما يجعل فريق التطوير حذرًا وستصبح سرعة التطوير أبطأ وأبطأ. بالإضافة إلى ذلك، قد يستغرق بدء تشغيل نظام واحد كبير 3 دقائق أو أكثر.
2. يتم تطوير وظائف متعددة على نفس النظام الواحد، مما يؤدي إلى اختبار أبطأ وأبطأ، على سبيل المثال، يجب جدولة الاختبار والاختبار التسلسلي
3. إذا كنت ترغب في ترقية تقنية نظام واحد، فستكون التكلفة عالية جدًا. وإذا كان نظامًا صغيرًا، فيمكنك اختيار نظام صغير لتجربته أولاً. يكاد يكون من المستحيل ترقية نظام كبير واحد من الناحية الفنية.
4. تعمل جميع وظائف نظام واحد في نفس JVM، وستؤثر الوظائف على بعضها البعض. على سبيل المثال، تستهلك الوظيفة التي تحسب أرقام صفحات مستندات الكلمات التي تم تحميلها الكثير من وحدة المعالجة المركزية غير متاح بسبب استدعاء وظيفة الإحصائيات، تظهر ظاهرة الرسوم المتحركة المعلقة
لذلك، عند تصميم النظام، سيفكر المزيد والمزيد من المهندسين المعماريين في تقسيم النظام إلى أنظمة صغيرة فردية متعددة أو حتى خدمات صغيرة. بالنسبة لتطبيقات المؤسسات التقليدية، من الأفضل تقسيمها إلى أنظمة صغيرة، أما بالنسبة لأنظمة الإنترنت، فمن الأفضل استخدام الخدمات الصغيرة
1. لا تزال أنظمة تكنولوجيا المعلومات التقليدية تستخدم قاعدة البيانات بشكل أساسي، في حين تدعم الخدمات الصغيرة خدمة واحدة وقاعدة بيانات واحدة.
2. نادرًا ما تحتاج أنظمة تكنولوجيا المعلومات التقليدية إلى استدعاء خدمات الوحدات الأخرى. تربط أنظمة تكنولوجيا المعلومات التقليدية الأنظمة الفرعية الأخرى من خلال سير العمل. تتفاعل خدمات التجارة الإلكترونية الصغيرة من خلال RPC وطرق أخرى، وهو بروتوكول خفيف الوزن. يمكن لأنظمة تكنولوجيا المعلومات التقليدية أيضًا أن تتفاعل مع الأنظمة الأخرى (غير الأنظمة الفرعية) من خلال SOA وJMS، باستخدام بروتوكولات ثقيلة الوزن.
3. تتطلب الخدمات الصغيرة متطلبات عالية جدًا على البنية التحتية للنظام، مثل حوكمة الخدمات الصغيرة والمكتبات المرنة وما إلى ذلك. فقط أنظمة التجارة الإلكترونية هي التي تمتلك القوة البشرية والموارد المادية للقيام بهذا النوع من الأشياء، في حين أن أنظمة تكنولوجيا المعلومات التقليدية، حتى لو كانت لديها جيوب عميقة ، لا تملك إمكانيات الخدمات الصغيرة في الوقت الحالي مثل البنية التحتية لتكنولوجيا المعلومات
لذلك، بالنسبة لمعظم تطبيقات تكنولوجيا المعلومات التقليدية، لا توجد مخاطر فنية في تقسيم نظام صغير واحد وهي بنية يمكن تنفيذها على الفور. فيما يلي البنية المادية لنظام واحد بعد التقسيم
بالنسبة للمستخدمين، سيؤدي الوصول إلى وظائف القائمة المختلفة إلى تحديد مواقع الأنظمة الفرعية المختلفة وتوفير الخدمات.