إطار خدمات صغيرة سريع وخفيف الوزن ومعتمد على السحابة الأصلية.
تجاوز سعة المكدس | مجموعة جوجل | دردشة جيتر | رديت | قناة اليوتيوب | التوثيق | دليل المساهمة |
الضوء يعني الوزن الخفيف والسرعة الفائقة وتسليط الضوء على كيفية البرمجة باستخدام Java SE الحديث للنشر السحابي الأصلي.
لقد كنت أعمل على منصات Java EE منذ أوائل عام 2000 وعانيت من مشكلات الأداء والإنتاجية. في عام 2014، أدركت أن صناعة تكنولوجيا المعلومات كانت تنتقل من الخدمات المتجانسة إلى الخدمات الصغيرة ومن مراكز البيانات المحلية إلى السحابة العامة.
لتقليل تكلفة إنتاج تطبيقاتي، أحتاج إلى العثور على نظام أساسي خفيف الوزن يحتوي على مساحة صغيرة للذاكرة، وإنتاجية عالية، وزمن انتقال منخفض في Java. تعد Java EE وSpring/Spring Boot ثقيلة جدًا بحيث لا يمكن أخذها في الاعتبار. تواجه منصات Java الأخرى خفيفة الوزن مشكلات مختلفة فيما يتعلق بالفصل بين منطق الأعمال والمخاوف الفنية الشاملة. علاوة على ذلك، فهي ليست سحابية أصلية أو مصممة للحاويات/السحابة.
بدون العثور على أي شيء مناسب، بدأت في إنشاء منصتي مفتوحة المصدر light-4j أعلى نواة Undertow HTTP باتباع المبادئ. نظرًا لأن نهجي متطرف للغاية، وهو ضد منتجات الشركات الكبرى، فقد تعرضت لهجوم مستمر من قبل بعض الكيانات عبر الإنترنت وخارجها. ومع ذلك، فأنا مقتنع تمامًا بأن نهجي هو الاتجاه المستقبلي وأبذل كل جهدي لمواصلة التطوير. اليوم، تستخدم الكثير من الشركات light-4j في الإنتاج مع ردود فعل إيجابية للغاية. كما يشجعني ذلك على تكريس نفسي لإطار العمل وتوسيع المنصة لبناء نظام بيئي.
بالنسبة للمستخدمين الذين يستفيدون من المنصة، يمكنك أن تصبح راعيًا لي حتى أتمكن من بذل كل جهدي في المشاريع مفتوحة المصدر.
إنه أسرع بـ 44 مرة من منصة الخدمات الصغيرة الأكثر شيوعًا Spring Boot المضمنة Tomcat ويستخدم 1/5 فقط من الذاكرة. فيما يلي النتائج القياسية مقارنة بـ Spring Boot وأطر عمل الخدمات الصغيرة الأخرى. فيما يلي مقارنة الطرف الثالث مع أطر عمل الويب الأخرى.
تصميم مواصفات OpenAPI وإنشاء الخدمة منها. تعد المواصفات أيضًا جزءًا من إطار عمل التحقق من الأمان وطلب التحقق من الصحة في وقت التشغيل.
يتم إنشاء بذرة اختبار الوحدة/النهاية إلى النهاية لتمكين النهج القائم على الاختبار للحصول على منتج عالي الجودة.
تصحيح الأخطاء داخل IDE تمامًا مثل التطبيق المستقل لتحسين إنتاجية المطور.
يتم إنشاء ملفات دعم Dockerfile وDevOps لدعم عملية الإرساء والتكامل المستمر في الإنتاج.
تم إنشاء جميع الأطر مفتوحة المصدر بلغة Java ونحن نعمل على إطار عمل Nodejs داخليًا. في المستقبل، قد نقدم إطار عمل Golang أيضًا وجميعهم يتشاركون في نفس النظام البيئي والسوق.
خادم OAuth2 للأمان وبوابة لمراقبة الإنتاج وإدارته. تعد البوابة أيضًا سوقًا لربط العملاء والخدمات معًا.
هناك طريقتان لبدء مشروعك:
يمكنك استخدام Light-codegen لإنشاء مشروع عمل. وهو يدعم حاليًا light-rest-4j وlight-graphql-4j وlight-hybrid-server-4j وlight-hybrid-service-4j. مولد رمز الحدث الخفيف قادم.
يصف مشروع إنشاء الكود الضوئي README.md أربع طرق لاستخدام المولد مع الأمثلة.
الطريقة الأخرى لبدء مشروعك هي النسخ من light-example-4j.
يمكنك العثور على وصف لهذه الأمثلة
أيضا، هناك بعض الدروس
للتشغيل/التصحيح من IDE، تحتاج إلى تكوين تطبيق Java بالفئة الرئيسية "com.networknt.server.Server" ودليل العمل هو مجلد مشروعك. لا توجد حاوية وأنت تعمل فقط على تطبيق Java مستقل.
قم بإنشاء تطبيق Java تكون فئته الرئيسية هي com.networknt.server.Server ودليل العمل هو المجلد الجذر لمشروعك. يمكنك تصحيح أخطاء الخادم الخاص بك تمامًا مثل تطبيق POJO.
mvn exec:exec
java -jar target/demo-0.1.0.jar
يمكنك استخدام Ctrl+C لإيقاف الخادم ولكن للإنتاج استخدم الأمر التالي
kill -s TERM <pid>
يحتوي الخادم على خطاف إيقاف التشغيل والأمر أعلاه يسمح له بالتنظيف. على سبيل المثال، أكمل الطلبات أثناء الرحلة وأغلق اتصالات قاعدة البيانات وما إلى ذلك. إذا تم استخدام تسجيل الخدمة واكتشافها، فسيرسل الخادم حدث إيقاف التشغيل إلى سجل الخدمة ويستمر في معالجة الطلبات لمدة 30 ثانية حتى يقوم جميع العملاء بتحديث ذاكرة التخزين المؤقت المحلية الخاصة بهم قبل إيقاف التشغيل .
تتوفر إطارات Light-4j وجميع أطر عمل light-*-4j بموجب ترخيص Apache 2.0. راجع ملف الترخيص لمزيد من المعلومات.