نشر تطبيق غير متصل بأحداث
يعد Oracle Functions نظامًا أساسيًا بدون خادم وقابلاً للتوسيع وإداريًا بالكامل تم إنشاؤه على Oracle Cloud Infrastructure ويتم تشغيله بواسطة محرك المصدر المفتوح لمشروع Fn. يمكن للمطورين استخدامها لكتابة التعليمات البرمجية التي توفر قيمة الأعمال ونشرها دون القلق بشأن تزويد البنية التحتية الأساسية أو إدارتها. Oracle Functions عبارة عن حاوية - أصلية بوظائف معبأة كصور حاوية Docker.
البنية
يوضح الشكل التالي هيكل المرجع هذا.

وصف الشكل التوضيحي serverless-oci.png
تشتمل بنية Oracle Functions على المكونات التالية:
- Region (المنطقة)
منطقة Oracle Cloud Infrastructure هي منطقة جغرافية محلية تحتوي على مركز بيانات واحد أو أكثر، تسمى نطاقات الإتاحة. والمناطق مستقلة عن المناطق الأخرى، ويمكن لمسافات شاسعة أن تفصل بينها (عبر البلدان أو حتى القارات).
- نطاقات الإتاحة
تعتبر نطاقات الإتاحة مراكز بيانات مستقلة ومستقلة داخل المنطقة. ويتم عزل الموارد المادية في كل مجال من مجالات التوفر عن الموارد الموجودة في مجالات التوفر الأخرى، مما يوفر تسامحاً خاطئاً. لا تشترك نطاقات الإتاحة في البنية الأساسية مثل الطاقة أو التبريد أو شبكة نطاق الإتاحة الداخلية. ولذلك، فمن غير المرجح أن يؤثر الفشل في مجال واحد من مجالات التوافر الأخرى في المنطقة.
- شبكة السحابة الافتراضية (VCN) والشبكات الفرعية
VCN شبكة قابلة للتخصيص ومحددة برمجيًا تقوم بإعدادها في منطقة Oracle Cloud Infrastructure. مثل شبكات مراكز البيانات التقليدية، توفر لك شبكات VCN التحكم الكامل في بيئة الشبكة. يمكن أن يحتوي VCN على كتل CIDR متعددة غير متداخلة يمكنك تغييرها بعد تكوين VCN. يمكنك تقسيم VCN إلى شبكات فرعية، يمكن تحديد نطاقها إلى منطقة أو إلى نطاق إتاحة. تتكون كل شبكة فرعية من نطاق متجاور من العناوين لا يتداخل مع الشبكات الفرعية الأخرى في VCN. يمكنك تغيير حجم الشبكة الفرعية بعد التكوين. يمكن أن تكون الشبكة الفرعية عامة أو خاصة.
وتنشر الوظيفة في هذا الهيكل المرجعي في شبكة فرعية إقليمية عامة.
- Oracle Functions
يتيح لك Oracle Functions نشر التعليمة البرمجية أو استدعاؤها مباشرةً أو تشغيلها استجابة للأحداث. يتم تشغيل Oracle Functions عند استدعاء خدمة الأحداث لها ومعالجة الصورة وتخزين الميتاديتا مرة أخرى إلى تخزين الكائنات. يستخدم Oracle Functions حاويات Docker المضيفة على Oracle Cloud Infrastructure Registry.
- الأحداث
تقوم خدمات Oracle Cloud Infrastructure بإرسال الأحداث، وهي رسائل هيكلية تشير إلى التغييرات في الموارد. تتضمن الأحداث عمليات التكوين أو القراءة أو التحديث أو الحذف (CRUD) وتغييرات حالة دورة حياة المورد وأحداث النظام التي تؤثر على المورد. يمكن انبعاث حدث عند انتهاء النسخة الاحتياطية أو فشلها، أو عند إضافة ملف في رزمة تخزين الكائنات أو تحديثه أو حذفه.
- مخزن الكائنات
يعد Oracle Cloud Infrastructure Object Storage نظامًا أساسيًا للتخزين عالي الأداء على مستوى الإنترنت يوفر إمكانية ثبات البيانات بشكل موثوق وفعال من حيث التكلفة. يمكن لتخزين الكائنات تخزين كمية غير محدودة من البيانات غير المنظمة من أي نوع محتوى، بما في ذلك البيانات التحليلية والمحتوى المنسق، مثل الصور وأشرطة الفيديو. وتلبي مستويان متميزان من مستويات التخزين الحاجة إلى تخزين "ساخن" يمكن الوصول إليه بشكل متكرر (قياسي) وتخزين "بارد" (أرشيف) يكون الوصول إليه أقل تواترا. تخزين الكائن القياسي خاص بالبيانات التي تحتاج إلى الوصول إليها بسرعة وفور وتكرار. تخزين الأرشيف خاص بالبيانات التي نادرًا ما تحتاج إليها أو نادرًا ما تحتاج إلى الوصول إليها، ولكن يجب الاحتفاظ بها وحفظها لفترات زمنية طويلة.
التوصيات
قد تختلف متطلباتك عن البنية الموضحة هنا. استخدم التوصيات التالية كنقطة بداية.
- VCN
عند تكوين VCN، حدد عدد كتل CIDR المطلوبة وحجم كل قطعة استنادًا إلى عدد الموارد التي تخطط لإرفاقها بالشبكات الفرعية في VCN. استخدم كتل CIDR الموجودة داخل مساحة عنوان IP الخاصة القياسية.
بعد تكوين VCN، يمكنك تغيير مجموعات CIDR الخاصة بها وإضافتها وإزالتها.
تستخدم هذه البنية VCN عام لتوزيع الدالة. يتم استضافة الوظيفة على شبكة فرعية إقليمية عامة في VCN. يمكنك أيضًا استخدام VCN خاص. في هذه الحالة، يجب استخدام جيت واي NAT للوصول إلى الإنترنت.
- Oracle Functions
في هذه البنية، تم استخدام برمجة Java لتطوير الدوال. نظرًا لأن مشروع Fn يدعم لغات برمجة متعددة، يمكنك استخدام لغة اختيارك لتطوير الدوال وتوزيعها.
- مخزن الكائنات
تستخدم هذه البنية تخزين الكائنات القياسي لتحميل صورة وتخزينها، حتى تتمكن خدمة الأحداث من التقاطها عند إنشاء الكائن. يقوم تخزين الكائنات بتخزين الميتاديتا الخاصة بالكائن بعد عمليات الوظائف.
- الأحداث
في هذه البنية، يتم تكوين خدمة Oracle Cloud Infrastructure Events للاستماع إلى التغييرات في تكوين تخزين الكائنات. يتم استدعاء الخدمة بعد تحميل الكائن إلى تخزين الكائنات واستدعاء الوظيفة للمعالجة.
الاعتبارات
- الإتاحة
خدمة الأحداث غير متاحة في المناطق الموجودة في مجال السحابة الحكومية.
- إمكانية الإدارة
تستخدم هذه البنية نموذج تطبيق Java لكتابة الدوال. ومع ذلك، يمكنك استخدام لغة البرمجة التي تختارها.
- أمان
استخدم السياسات لتقييد من يمكنه الوصول إلى موارد Oracle Cloud Infrastructure التي تمتلكها شركتك وكيفية ذلك.
بالنسبة لتخزين الكائنات، يتم تمكين التشفير افتراضيًا ولا يمكن إيقافه.
يتم التحكم في كل الوصول إلى الوظائف الموزعة في Oracle Functions من خلال Oracle Cloud Infrastructure Identity and Access Management (IAM). يسمح IAM بتعيين امتيازات إدارة الوظائف واستدعاء الوظائف لمستخدمين ومجموعات مستخدمين محددة.
- التكلفة
لا تدفع إلا الموارد المستخدمة أثناء تشغيل الوظيفة.
توزيع
تتوفر تعليمات Terraform البرمجية لهذا الهيكل المرجعي في GitHub. يمكنك سحب التعليمة البرمجية إلى Oracle Cloud Infrastructure Resource Manager بنقرة واحدة وتكوين المكدس وتوزيعه. بدلاً من ذلك، يمكنك تنزيل التعليمة البرمجية من GitHub إلى الكمبيوتر، وتخصيص التعليمة البرمجية، وتوزيع البنية باستخدام واجهة سطر أوامر Terraform (CLI).
- التوزيع باستخدام Oracle Cloud Infrastructure Resource Manager:
- انقر
إذا لم تكن قد قمت بتسجيل الدخول بالفعل، أدخل بيانات صلاحية العميل والمستأجر.
- مراجعة وقبول البنود والشروط.
- حدد المنطقة التي تريد توزيع المكدس بها.
- اتبع الموجهات والتعليمات على الشاشة لتكوين المكدس.
- بعد تكوين المكدس، انقر على إجراءات Terraform، وحدد خطة.
- انتظر حتى إتمام الوظيفة، ثم راجع الخطة.
لإجراء أية تغييرات، ارجع إلى صفحة تفاصيل المكدس وانقر على تحرير المكدس وقم بإجراء التغييرات المطلوبة. ثم قم بتشغيل إجراء الخطة مرة أخرى.
- إذا لم تكن هناك حاجة إلى أية تغييرات أخرى، ارجع إلى صفحة تفاصيل المكدس وانقر على إجراءات Terraform وحدد تطبيق.
- انقر
- النشر باستخدام تعليمات Terraform البرمجية في GitHub:
- انتقل إلى GitHub.
- استنساخ المستودع أو تنزيله إلى الكمبيوتر المحلي.
- اتبع التعليمات الواردة في مستند
README
.
تغيير الأرشيف
يسرد هذا السجل التغييرات الهامة فقط:
أكتوبر 27 2021 |
|
أغسطس 23 2021 | تمت إزالة معلومات حول حدود خدمة محددة للوظائف. للحصول على الحدود الحالية، راجع وثائق حدود الخدمة. |