نشر الخدمات المتناهية الصغر باستخدام قاعدة بيانات مدمجة وهيليدون
البنية
تعرض هذه البنية الموارد والطبولوجيا المطلوبة لاستخدام الخدمات المتناهية الصغر مع البنية الأساسية للسحابة وOracle Database المجمعة وHelidon.
Oracle Database المتقارب هو قاعدة بيانات محسنة تحتوي على دعم محلي لأنواع البيانات الحديثة ومكونات مركز البيانات الرئيسية وأحدث نماذج التطوير. على سبيل المثال، تدعم قاعدة البيانات المتقاربة البيانات المساحية لتوعية الموقع، وJSON لمخازن المستندات، وIoT لتكامل الأجهزة، والتقنيات الموجودة بالذاكرة للتحليلات في الوقت الفعلي، والبيانات العلائقية التقليدية. بتوفير الدعم لكل أنواع البيانات هذه، يمكن لقاعدة البيانات المجمعة تشغيل كل أنواع أحمال العمل من IoT إلى Blockchain إلى Analytics وMachine Learning. ويمكنها أيضا أن تعالج أي نموذج إنمائي، بما في ذلك الخدمات الصغيرة.
يشتمل هيكل الخدمات المتناهية الصغر على ثلاثة مستويات رئيسية – طبقة الرسائل وطبقة التطبيق وطبقة قاعدة البيانات - لتحقيق المرونة والنطاق الأفقي والقوة لتطبيقات المؤسسة. تعرض هذه البنية المرجعية المكونات المستندة إلى المعايير المتاحة على سحابة Oracle Gen 2 لإنشاء خدمات صغيرة قوية باستخدام Oracle Database كطبقة ثابتة.
طبقة الرسائل هي إما رسالة حركة Java Message Service (JMS) مضمنة في قاعدة البيانات أو قوائم انتظار أحداث المعاملات (TEQ) أو آلية نقل تستند إلى Kafkang مثل خدمة تدفق Oracle Cloud Infrastructure.
- مراقبة الحدث والتنبيه به: Grafana وPrometheus
- المراقبة والتعقب: كيالي وجايغر
- التطبيقات التقليدية: Java Enterprise Edition وOracle Weblogic
- خدمات Java Microservices: Java وhelidon.io وOracle GraalVM Enterprise
- خدمات Microservices متعددة الأشكال: node.js وpython
- خدمة Mesh باستخدام Oracle Container Engine for Kubernetes: Istio وKubernetes وDocker.
تتكون طبقة قاعدة البيانات من طبعتين ذاتيتين لمعالجة العمليات (ATP-1 وATP-2). تستخدم البنية البيانات العلائقية والبيانات المكانية والمستند والنص وبيانات JSON في قاعدة البيانات المتقاربة ورسائل المعاملات المضمنة في قاعدة البيانات للخدمات المتناهية الصغر لتبسيط سير العمل.
يعد الشكل التالي مثالاً لهيكل الخدمات المتناهية الصغر لتطبيق توصيل الأغذية المتنقل عبر الإنترنت.

وصف الشكل التوضيحي helidon_microservices_db_architecture.png
تشتمل البنية على المكونات التالية:
- مُوازن التحميل
توفر خدمة Oracle Cloud Infrastructure Load Balancing توزيع حركة المرور التلقائي من نقطة إدخال واحدة إلى خوادم متعددة في الطرف الخلفي.
- Container Engine for Kubernetes
Oracle Cloud Infrastructure Container Engine for Kubernetes خدمة مدارة بالكامل وقابلة للتوسيع ومتاحة للغاية يمكنك استخدامها لنشر تطبيقاتك في الحاويات في السحابة. يمكنك تحديد موارد الحساب التي تتطلبها تطبيقاتك، ويقوم Container Engine for Kubernetes بتزويدها في Oracle Cloud Infrastructure في مستأجر موجود. يستخدم Container Engine for Kubernetes Kubernetes لأتمتة توزيع التطبيقات المحجوزة في حاويات وتوسيعها وإدارتها عبر مجموعات المضيفين.
- موصل الخدمة لـ Kubernetes
قم بتوصيل قاعدة بيانات Oracle Autonomous Transaction Processing بـ Oracle Container Engine for Kubernetes بوسيط خدمة OCI لـ Kubernetes.
وسيط خدمة OCI لـ Kubernetes عبارة عن تنفيذ لواجهة برمجة تطبيقات وسيط الخدمة المفتوحة. OCI Service Broker لـ Kubernetes مخصص خصيصًا للتفاعل مع خدمات Oracle Cloud Infrastructure من مجموعات Kubernetes. يتضمن ثلاثة موفقات وسيط خدمة لربطها بخدمات Oracle Cloud Infrastructure التالية: تخزين الكائنات، معالجة العمليات الذاتية، Autonomous Data Warehouse، خدمة تدفق Oracle.
يمكنك إضافة OCI Service Broker لـ Kubernetes إلى المجموعات التي قمت بتكوينها مع Oracle Cloud Infrastructure Container Engine for Kubernetes للتفاعل مع خدمات Oracle Cloud Infrastructure. عند إضافة OCI Service Broker لـ Kubernetes إلى مجموعة، لن تضطر إلى تزويد خدمات Oracle Cloud Infrastructure وإلغاء تزويدها يدويًا في كل مرة تقوم فيها بنشر تطبيق على المجموعة أو إلغاء توزيعه. بدلاً من ذلك، تتفاعل مع خدمات Oracle Cloud Infrastructure باستخدامkubectlلاستدعاء واجهات API لوسيط الخدمة المفتوح التي ينفذها وسيط خدمة OCI لـ Kubernetes. - سجل النظام
Oracle Cloud Infrastructure Registry سجل تديره Oracle يتيح لك تبسيط سير عمل التطوير إلى الإنتاج. يسهل التسجيل عليك تخزين البيانات الاصطناعية للتطوير ومشاركتها وإدارتها، مثل صور Docker. تضمن بنية Oracle Cloud Infrastructure عالية التوفر والقابلة للتوسيع إمكانية توزيع تطبيقاتك وإدارتها بشكل موثوق.
- تخزين الكائنات
يوفر تخزين الكائنات وصولاً سريعًا إلى كميات كبيرة من البيانات الهيكلية وغير الهيكلية من أي نوع محتوى، بما في ذلك النسخ الاحتياطية لقاعدة البيانات والبيانات التحليلية والمحتوى المنسق مثل الصور وأشرطة الفيديو. استخدم التخزين القياسي للتخزين "الساخن" الذي تحتاج إلى الوصول إليه بسرعة وفور وتكرار. استخدم تخزين الأرشيف للتخزين "البارد" الذي تحتفظ به لفترات زمنية طويلة ونادرا ما يكون الوصول إليه نادرا أو نادرا.
- الخدمات الصغرى
استخدم Istio Service Mesh لربط الخدمات المتناهية الصغر بوكيل لتوفير معلومات التتبع المرئية في الكيالي.
استخدم جايغر للتعقب وكيالي لاحترام شظية إيستيو.
- هيليدون
استخدم التعليقات التوضيحية لـ Helidon MicroProfile لمراقبة صحة الخدمات المتناهية الصغر وحياتها.
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing هي خدمة قاعدة بيانات ذاتية التوجيه والتأمين والإصلاح يتم تحسينها لأحمال عمل معالجة المعاملات. لست بحاجة إلى تكوين أي جهاز أو إدارته، أو تثبيت أي برنامج. يعالج Oracle Cloud Infrastructure تكوين قاعدة البيانات، بالإضافة إلى النسخ الاحتياطي والتصحيح والترقية وتوسيع قاعدة البيانات.
يعد الشكل التالي مثالاً لدفق أعمال بنية الخدمات المتناهية الصغر لتطبيق توصيل الأغذية المتنقل عبر الإنترنت.

وصف الشكل التوضيحي microservices_converged_db.png
تظهر الخطوات التالية في هذه البنية:
- يقوم العميل بالبحث في المراجعات المباشرة وتقديم طلب. تحتوي الخدمة المتناهية الصغر لخدمة الطلبات على ميزة "مراجعات البحث". يتم إرسال طلبات مراجعة البحث والطلبات من خلال موزان التحميل إلى الخدمة الصغرى لخدمة الطلبات. تتصل خدمة الطلب بقاعدة البيانات.
- يتم إرسال البحث عن بيانات النص وJSON وتحليل المشاعر إلى ميزة "مراجعات البحث".
- تتصل الخدمات المتناهية الصغر لخدمة الطلبات ودائرة فحص المخزون ببعضها البعض باستخدام رسائل المعاملات.
- ترسل خدمة الطلب طلب مكان للتسليم إلى الخدمة المتناهية الصغر لخدمة التسليم.
- يتم إرسال العملية الحسابية المساحية لعمليات التسليم الفردية أو المتعددة من قاعدة البيانات إلى خاصية تخطيط التوجيه الخاصة بخدمة التسليم.
- يتم إرسال التحليلات التشغيلية ذات التعليمات البرمجية المنخفضة من قاعدة البيانات إلى لوحة معلومات التحليلات.
التوصيات
قد تختلف متطلباتك عن البنية الموضحة هنا. استخدم التوصيات التالية كنقطة بداية:
- البساطة
تعمل البنية على زيادة الحاجة إلى البساطة في تصميم طبقة الثبات للخدمات المتناهية الصغر باستخدام قاعدة بيانات Oracle المتقاربة. تعد نماذج تأمين قاعدة البيانات نقطة بداية جيدة للحصول على تأمين التصديق والاعتماد. وبالإضافة إلى ذلك، يؤدي استخدام النسخ الاحتياطي والتوافر العالي لقاعدة البيانات إلى تبسيط تطوير الخدمات البالغة الصغر.
يؤدي الفهم الجيد للتطبيق إلى تشغيل الوصول إلى البيانات لكل خدمة صغيرة مع التصميم على السياقات المحددة، والارتباط المفقود داخل العديد من هذه الخدمات. ابدأ بعزل مستوى مخطط قاعدة البيانات.
ومن المهم تصحيح حجم الخدمة المتناهية الصغر لجعل تبعيات البيانات أكثر قابلية للإدارة.
تتيح رسائل المعاملات المستندة إلى الأحداث والتي تم بناؤها داخل قاعدة البيانات المجمعة إمكانية الربط المفقود بين الخدمات المتناهية الصغر مع الاحتفاظ بمجرد المراسلة بالضبط، مما يتيح التنفيذ الفعال للمعاملات المتسقة في نهاية المطاف عبر الخدمات المتناهية الصغر (المسماة "ساغاس").
- إمكانية المراقبة والإدارة
تتيح إمكانية المراقبة والإدارة بالتعليقات التوضيحية لهليدون واستخدام أدوات التعقب إمكانية التشغيل التلقائي في تشغيل تطبيق قائم على الخدمات المتناهية الصغر على نطاق واسع. وهذا مجال يمكن تصميمه بشكل جيد، سواء على مستوى التطبيق أو على مستوى قاعدة البيانات، ولا سيما مع تزايد عبء الخدمات المتناهية الصغر، ويلزم إجراء تعديلات للأداء والتوفر على نطاق واسع.
- قابلية الامتداد
تتيح حاوية الخدمات المتناهية الصغر التي يديرها Oracle Cloud Infrastructure Container Engine for Kubernetes إمكانية توسيع طبقة التطبيق. وعلى الرغم من أنه لا يوصى دائما بأن يكون لكل خدمة صغيرة قاعدة بيانات خاصة بها، فمن المؤكد أن من الممكن أن يتم ذلك مع بنية قاعدة البيانات المتقاربة. وغالبا ما توفر العزلة على مستوى المخطط بين الخدمات المتناهية الصغر عزلة جيدة عن التبعيات غير الضرورية للبيانات.
- أمان
توفر قاعدة البيانات المتقاربة مستوى عاليًا من الأمان يمكن للتطبيق استخدامه لتوفير أدوار على مستوى المستخدم والتصديق والاعتماد وتشفير البيانات. وتوفر هيليدون أيضا إمكانية الوصول الآمن إلى الخدمات المتناهية الصغر بالاقتران مع الأمن في طبقة الثبات.
- المقياس
تقوم هذه البنية بإضافة طبعات خدمات متناهية الصغر باستخدام Oracle Container Engine for Kubernetes لإدارتها، بالإضافة إلى أداة موازنة تحميل للسماح باستخدام طبعات متعددة لكل خدمة بسلاسة. وتعالج مسألة التوافر والتوسع باستخدام هذا النموذج للخدمات الصغرى. توفر قاعدة البيانات توسعًا ذاتيًا بسيطًا لمستوى معين (من 2 إلى 48 وحدة حوسبة Oracle (OCPUs) لكل نظام قاعدة بيانات)، والتي قد تعمل لمعظم التطبيقات.
الاعتبارات
ضع في اعتبارك النقاط التالية عند توزيع هيكل المرجع هذا.
- الأداء
يمكنك توسيع أداء التطبيق أفقيًا عن طريق إضافة طبعات إضافية للخدمة المتناهية الصغر والإدارة باستخدام Kubernetes.
يمكنك توسيع أداء قاعدة البيانات عن طريق مراقبة تحميل قاعدة البيانات في وحدة تحكم أداء Oracle Autonomous Transaction Processing وزيادة عدد وحدات OCPU (حتى 48 وحدة في ATP - Shared).
- أمان
يتبع تأمين الخدمات المتناهية الصغر التأمين الذي توفره Helidon Microservices ونموذج تأمين Oracle Database – التصديق والاعتماد والتحكم في الوصول إلى الموارد. يوصي Oracle بأن تستخدم التطبيقات آليات فرض التأمين الخاصة بقاعدة البيانات قدر الإمكان.
- الإتاحة
يحتوي الإتاحة العالية على جزأين، طبقة التطبيق وطبقة البيانات.
يتم تحقيق إتاحة التطبيق من خلال وجود حاويات عديمة الجنسية، تتم إعادة وضعها في صفحة بواسطة Kubernetes، واستعادة أية حالة من ميتاديتا الطبقة الوسطى أو قاعدة البيانات.
يوصى بالاستعاضة الفعلية عن قواعد البيانات القابلة للتركيب عبر نطاقات إتاحة Oracle Cloud أو عبر المناطق للهياكل ذات التوفر العالي. مراجعة معلمات إتاحة Oracle Database المرتفعة للتوصيات الأخرى.
- التكلفة
تنطبق اقتصاديات السحابة على هذا الهيكل المرجعي للخدمات المتناهية الصغر. تتوفر كل المكونات على Oracle Cloud Infrastructure كخدمة مدارة، ويمكنك الدفع مقابل ما تستخدمه، بدلاً من الدفع مقابل تزويد الأجهزة.
توزيع
تتوفر تعليمات Terraform البرمجية لهذا الهيكل المرجعي على GitHub. يمكنك تنزيل التعليمات البرمجية من GitHub إلى الكمبيوتر، وتخصيص التعليمات البرمجية، وتوزيع البنية باستخدام Terraform CLI.
- النشر باستخدام تعليمات Terraform البرمجية في GitHub:
- انتقل إلى GitHub.
- استنساخ المستودع أو تنزيله إلى الكمبيوتر المحلي.
- اتبع التعليمات الواردة في مستند
README.
- النشر باستخدام Oracle LiveLabs Building Microservices مع Oracle Converged Database Workshop.
مزيد من المعلومات
لمزيد من المعلومات، راجع الموارد التالية:
- إنشاء خدمات ميكروية باستخدام Oracle Convered Database Workshop
- بدء تشغيل المستند الأبيض للخدمات المتناهية الصغر
- Helidon Microservices
- تتبع جايغر
- IStio Service Mesh وService Management
- Kiali Service Mesh Management for Istio
- قوائم انتظار أحداث الحركات ودليل مستخدم قائمة الانتظار المتقدمة
- نظرة عامة على الإتاحة العالية في Oracle Database
- دليل تأمين قاعدة بيانات أوراكل