تم إعداد ترجمة لهذه المقالة خصيصًا لطلاب دورة البنية التحتية لمنصة Kubernetes .
إذا كنت قد اتبعت الاتجاهات في البنى الموزعة والسحابة في السنوات الأخيرة ، فمن المحتمل أنك سمعت أكثر من مرة عن الخدمات المجهرية. لقد ظهرت قبل بضع سنوات ، ومنذ ذلك الحين نما دورها في عمليات النشر السحابية للشركات. تتحول المزيد والمزيد من الشركات إلى الخدمات المصغرة وتعلن ذلك في منشوراتها وبياناتها الصحفية.
إن اختيارهم له ما يبرره ، لكن القليل منهم فقط يقولون ما وراء هذا الانتقال. من خلال التنفيذ السليم ، تحل الخدمات الميكروية العديد من مشكلات البنية المتجانسة: فهي سهلة التكرار والتوزيع في مجموعات ، ويمكن تقسيم الكود بسهولة إلى مكونات مُدارة. ومع ذلك ، لا توجد في معظم المنشورات كلمة عن العمل اللاحق مع الخدمات والأدوات الدقيقة اللازمة لاستخدامها على نحو فعال.
ننظر اليوم وراء الكواليس ونرى ما هي شبكة الخدمة ، وكيف تساعد هذه التكنولوجيا في حل مشكلات هندسة الخدمات المصغرة وتبسط عمل المطورين. آمل أن تحصل على فكرة مفصلة عن دورها في نشر خدمات microservice.
ما هي شبكة الخدمة؟
شبكة الخدمة (مصطلحات "شبكة microservice" ، "شبكة شبكة من microservices" تُستخدم أيضًا) هي طبقة بنية أساسية مجردة تحدد التفاعل بين خدمات microservices للتطبيق. تستخدم التقنية اتصالات الشبكة بين الحاويات للتحكم في تفاعل مكونات التطبيق المختلفة. يبدو مجردة إلى حد ما ، لكنه في الواقع مفهوم عملي للغاية. تتفاعل الحاويات من خلال الشبكة ، لذلك يتيح لك تغيير هيكل الشبكة تغيير الترتيب الذي تتفاعل به الحاويات.

يلعب التعاون الفعال دورًا رئيسيًا في الخدمات المصغرة. توفر إدارة هذا التفاعل مع شبكة الخدمة العديد من الفوائد. لذلك ، عند نشر إصدارات جديدة من المكونات ، يمكنك على الفور تبديل أجهزة الشبكة من الأجهزة القديمة إلى الأجهزة الجديدة دون تكوين إضافي. إذا كنت تواجه صعوبات في القياس ، فيمكنك استخدام
شبكة الخدمة لإعادة توجيه حركة المرور إلى موازين تحميل مختلفة وزيادة عدد الحاويات لمكونات التطبيق.
نصيحة شائعة لأولئك الذين يبدأون العمل مع microservices هي: التعامل مع المكونات المختلفة للتطبيق كواجهة برمجة التطبيقات لمقدمي خدمات مختلفة تماما. تتيح لك تقنية
شبكة الخدمة تنفيذ هذا المبدأ على مستوى الشبكة وتحديد الخدمات التي ستكون متاحة في مواقع الشبكة المختلفة بدقة. إذا قمت بنقل خدمة أو تعديلها ، فبدلاً من نشر تكوين جديد ، تحتاج فقط إلى تغيير تفاعل الشبكة.
ماذا يعطي؟
خدمات Microservices شائعة بسبب قابليتها للتطوير على نطاق واسع ومناسبة للعمل مع التطبيقات الكبيرة التي يمكن تقسيمها إلى مكونات يمكن التحكم فيها بسهولة. على النقيض من ذلك ، تعتبر البنى المتجانسة ملائمة في المناطق التي تكون فيها المركزية مهمة. في التطبيقات المتجانسة ، يسهل تسجيل الأحداث ، لأنها تعمل في نفس الموقع. التحكم في الإصدار واضح ومباشر ، حيث يتم الكتابة على مثيل واحد. ليس من المستغرب أن يضيع الكثير من المطورين في الانتقال من بنيات متجانسة إلى بنيات الخدمات المصغرة ، حيث لا يوجد مكان واحد للمجلة اليومية ومن الصعب تحديد الإصدارات الضرورية للمكونات.

ميزة تقنية
شبكة الخدمة هي أنها تلعب دور مصدر مركزي لبعض البيانات ، وخاصة البيانات حول تفاعلات الشبكة. النظر في المثال أعلاه من نشر نسخة جديدة من مكون التطبيق. بدلاً من تدمير جميع الحاويات التي تحتوي على الإصدار القديم ، وإطلاق حاويات جديدة مع الإصدار الجديد وتكرار هذه العملية للمكونات الأخرى ذات الصلة ، يمكنك التحكم في الحاويات التي ستكون مرئية للحاويات الأخرى على الشبكة.
هذا يعني أنه لنشر الإصدار الجديد ، يكفي تحديد الحاويات الجديدة كهدف باستخدام DNS ، أو لاستهداف موازن التحميل الجديد أو لتغيير الحاويات التي يستهدفها الموازن الحالي.
من خلال التركيز على التفاعلات بين مكونات التطبيق (على شبكة الشبكات التي يعملون فيها) ، يمكنك الحفاظ على مستوى معين من المركزية ، مما يبسط الإدارة في بيئة متجانسة. بحاجة الى مزيد من المعلومات حول حركة المرور التي تمر عبر التطبيق؟ إضافة قدرات الرصد إلى الشبكة بين المكونات. تريد تحسين الأمن؟ تنفيذ تشفير قوي و HTTPS. كل هذا ممكن بفضل
شبكة الخدمة .
هل تريد معرفة المزيد؟
في الأسبوعين المقبلين ، سوف ندرس بمزيد من التفصيل تشغيل شبكة الشبكات وتطبيقاتها العملية في بعض سيناريوهات نشر الخدمات المجهرية. سوف نركز على الفوائد الحقيقية لهذه التقنية: التحكم الفعال وسهولة الإدارة والقدرة على مراقبة عمليات التطبيقات الكبيرة.