Lambda/Applications/Applications/CGI/Serverless-Functions خفيفة الوزن.
انظر المستندات
سمات:
ملاحظة
هناك إصدار الحد الأدنى من CGI الموثوق به: Nano-Run. تحقق من ذلك-إنه من الصدفة مع النهج الأول للتكوين (أي أسهل في الاستخدام للبنية التحتية-ككرز).
منذ 0.3.3 Linux و Darwin وحتى نظام التشغيل Windows مدعومون: يمكن العثور على ثنائيات تم إنشاؤها مسبقًا في الإصدارات
tl ؛ د.
apt.reddec.dev (انظر المستندات)docker run --rm -p 3434:3434 reddec/trusted-cgi )انظر دليل التثبيت
تدفق العملية واضح ومباشر: يستمع خفي الضوء في الخلفية للطلبات ويطلق البرامج النصية/التطبيقات عند الطلب. يجب على القابل للتنفيذ قراءة الإدخال القياسي (STDIN) لبيانات الطلب وكتابة استجابة للإخراج القياسي (STDOUT).
من الناحية الفنية ، يجب أن يكون أي نص/تطبيق يمكنه تحليل Stdin وكتابة شيء إلى stdout قادرًا على التنفيذ.
مصممة CGI الموثوق بها مع الأخذ في الاعتبار أن بيانات الإدخال والمخرجات صغيرة جدًا وتحتوي على بيانات منظمة (JSON/XML) ، ومع ذلك ، لا توجد قيود على النظام الأساسي نفسه.
الاختلافات الرئيسية مع CGI الكلاسيكية:
بسبب التغييرات ، من الممكن جعل أبسط البرنامج النصي مع إدخال JSON والإخراج مثل هذا:
import sys
import json
request = json . load ( sys . stdin ) # read and parse request
response = [ 'hello' , 'world' ] # do some logic and make response
json . dump ( response , sys . stdout ) # send it to clientضع في اعتبارك أن المنصة تضيف أيضًا عددًا متزايدًا من الميزات الجديدة - انظر الميزات.
الجمهور المستهدف
من الأفضل (على سبيل المثال لا الحصر)
ومع ذلك ، إذا كانت مشاريعك قد اكتسبت قيودًا على النظام الأساسي ، فيجب أن يكون من السهل جدًا الترحيل إلى أي حلول أخرى ، لأن معظم التفاصيل منخفضة المستوى مخفية ويمكن استبدالها في غضون أيام قليلة (بشكل أساسي - فقط لف البرنامج النصي إلى خدمة HTTP)
أيضًا ، من الممكن توسيع نطاق أداء النظام الأساسي من خلال إطلاق نفس مثيلات النظام الأساسي باستخدام نظام ملفات مشترك (أو صور Docker) مع موازن أمامه.
المنصة هي مشروع Golang بسيط للغاية مع واجهة Vue + Quasar ويجب أن يكون سهلاً للوافدين الجدد. تحذيرات ونصائح للتحقق من الخلفية هنا
للتحقق من واجهة المستخدم الفرعية ريبو
أي علاقات عامة (مستندات ، رمز ، أنماط ، ميزات ، ...) ستكون مفيدة للغاية!
يرجى ملاحظة أن Linux (بما في ذلك WSL2) أو Darwin يستخدم بشكل أساسي للتطوير ، وبالتالي فإن معظم البرامج النصية المساعد المصممة لتلك نظام التشغيل.
متطلبات:
go.mod )بالنسبة للبناء المتعدد ، قد تحتاج إلى bintools:
docker run --privileged --rm tonistiigi/binfmt --install all