إتقان شبكة الخدمات مع Istio

أطلق العنان لقوة الخدمات المصغرة من خلال استكشافنا العميق لـ Istio.

إتقان بنية شبكة الخدمات مع Istio

1. المقدمة

اكتشف سحر بنية شبكة الخدمات وشاهد كيف تعزز أنظمتك الموزعة.

اغمر في Istio، نجم شبكة الخدمات، وتعرف على كيفية تنسيق مجموعة Kubernetes الخاصة بك بشكل مثالي.

2. ما هي شبكة الخدمات؟

تطورت التطبيقات الأحادية إلى خدمات أصغر ومستقلة. اكتسب هذا التحول شعبية كبيرة مع الحوسبة السحابية المعتمدة على الخدمات المصغرة. ساهمت أدوات مثل Docker وKubernetes في تسريع هذا الاتجاه.

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

تشمل التحديات الإضافية الأمان والقدرة على المراقبة.

آلة أ
خدمة أ
إدارة الحركة
الأمان
القدرة على المراقبة
آلة ب
خدمة ب
إدارة الحركة
الأمان
القدرة على المراقبة

بناء قدرات التواصل في كل خدمة يستغرق وقتًا طويلاً، خاصة مع توسع مشهد الخدمات. هنا تتألق شبكة الخدمات. إنها تتعامل مع كل التواصل بين الخدمات داخل نظام موزع.

تتحقق شبكة الخدمات من ذلك باستخدام بروكسيات الشبكة. يتم توجيه الطلبات بين الخدمات عبر هذه البروكسيات، التي تقع خارج الخدمات في طبقة البنية التحتية:

آلة أ
بروكسي
خدمة أ
إدارة الحركة
الأمان
القدرة على المراقبة
آلة ب
بروكسي
خدمة ب
إدارة الحركة
الأمان
القدرة على المراقبة

تشكل هذه البروكسيات شبكة مصفوفة للخدمات، ومن هنا جاء الاسم. تتحكم شبكة الخدمات في كل جانب من جوانب التواصل بين الخدمات، مما يمكنها من معالجة ثمانية خرافات حول الحوسبة الموزعة.

3. قوى شبكة الخدمات الخارقة

أطلق العنان للإمكانات الكاملة لخدماتك مع شبكة الخدمات! اكتشف كيف يمكن لهذه الأداة السحرية أن تحول مشهد تطبيقاتك.

دعونا نقسم السحر إلى ثلاث قدرات أساسية: سحر الحركة، الأمان الحديدي، والرؤية الواضحة.

3.1. سحر الحركة

شبكة الخدمات هي شرطي حركة المرور المثالي، توجه تفاعلات الخدمة بدقة. استمتع بالتوجيه الديناميكي، الاكتشاف الذكي، وميزات مذهلة مثل الظلال والتقسيم لحملات اختبار A/B بسلاسة.

قل وداعًا للاتصالات غير الموثوقة! تغلف شبكة الخدمات خدماتك ببطانية دافئة من الموثوقية، حيث تقدم إعادة المحاولات، ومهلات، وتحديد المعدلات، وقواطع الدائرة لحماية تطبيقاتك من الفوضى.

3.2. الأمان الحديدي

احمِ خدماتك بقلعة منيعة! تقوم شبكة الخدمات بتشفير جميع الاتصالات مع MTLS القوي، وتتحقق من الهويات من خلال المصادقة الصارمة، وتفرض قواعد الوصول من أجل حماية قصوى.

اكتشف القوى الأمنية الخفية! عزل الخدمات، وتتبع كل حركة من أجل التدقيق، وخلق محيط آمن حول تطبيقك باستخدام شبكة الخدمات.

3.3. الرؤية الواضحة

تنقل عبر تعقيدات نظامك الموزع بسهولة! توفر شبكة الخدمات رؤية لا مثيل لها في الأعمال الداخلية لتطبيقك من خلال التتبع الموزع.

اكتشف رؤى قيمة مع مجموعة غنية من القياسات، والسجلات، وبيانات الأداء. حسن خدماتك وحل المشكلات كالمحترفين باستخدام شبكة الخدمات.

4. كشف الستار عن Istio

Istio، شبكة خدمات مفتوحة المصدر، ثمرة جهود IBM وGoogle وLyft، تعزز التطبيقات الموزعة بشكل غير مرئي مع إدارة الحركة، والأمان، ورؤى الأداء.

يمكن نشر Istio بمرونة على الأنظمة المحلية، أو في السحابة، أو داخل Kubernetes، أو على الآلات الافتراضية، وتتفوق مع الخدمات المصغرة على Kubernetes. على الرغم من أنها مستقلة عن المنصة، إلا أنها تتناسب بشكل طبيعي مع البيئات المعتمدة على الحاويات.

في جوهرها، تنشر Istio بروكسيات Envoy كـ sidecars بجانب كل خدمة مصغرة:

البود أ
الخدمة أ
حركة المرور الواردة
بروكسي Envoy
البود أ
الخدمة أ
حركة مرور الشبكة
بروكسي Envoy
حركة المرور الصادرة
خطة البيانات

تشكل هذه الشبكة من البروكسيات خطة بيانات Istio، التي تنسقها خطة التحكم:

البود أ
الخدمة أ
حركة المرور الواردة
بروكسي Envoy
البود أ
الخدمة أ
حركة مرور الشبكة
بروكسي Envoy
حركة المرور الصادرة
خطة البيانات
Istiod
Pilot
Citadel
Galley
خطة التحكم

تمنح خطة التحكم، عقل Istio المدبر، بروكسيات Envoy القوة من خلال الاكتشاف، والتكوين، وإدارة الشهادات.

أطلق العنان لإمكانات Istio مع عدد هائل من الخدمات المصغرة المتصلة، حيث تنسج بروكسيات sidecar بنية تحتية قوية لشبكة الخدمات:

خطة التحكم istio
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy
Envoy

تتألق قابلية تكيف Istio من خلال التكامل السلس مع أنظمة التسجيل، والقياس، والسياسات الخارجية.

5. فك شيفرة المكونات الأساسية لـ Istio

تعد بنية Istio ثنائي ديناميكي: خطة البيانات وخطة التحكم. معًا، ينظمون السحر وراء قدرات Istio. دعونا نتعمق في المكونات الأساسية التي تدعم هذه المنصة الاستثنائية.

استعد لاستكشاف التفاصيل المعقدة لمكونات Istio الأساسية.

5.1. خطة البيانات: مركز Envoy

تعتبر خطة البيانات في Istio إصدارًا معززًا من بروكسي Envoy. هذا المعجزة المفتوحة المصدر تتعامل مع تعقيدات الشبكة، مما يحرر التطبيقات للتركيز على أعمالها الأساسية. تتفاعل التطبيقات بسلاسة، غير مدركة للبنية التحتية المعقدة للشبكة.

في جوهرها، يعمل Envoy كحارس شبكة على الطبقات 3 و4 من نموذج OSI. يدير الاتصالات ببراعة باستخدام سلسلة من الفلاتر الشبكية القابلة للتكيف. بالإضافة إلى ذلك، يمكّن فلتر الطبقة L7 الخاص بـ Envoy من التعامل مع حركة HTTP بمهارة. وليس هذا كل شيء - إنه يتناسب بشكل طبيعي مع بروتوكولات HTTP/2 وgRPC.

العديد من ميزات Istio البارزة هي في الواقع قوى خارقة ورثت من القدرات المدمجة لـ Envoy:

  • تحكم في الحركة: يتحكم Envoy بدقة في حركة HTTP وgRPC وWebSocket وTCP، موجهًا إياها بدقة.
  • موثوقية الشبكة: تضمن إعادة المحاولات التلقائية، وكسر الدائرة، وحقن الأخطاء المدمجة موثوقية الشبكة دون انقطاع.
  • الأمان: احمِ اتصالاتك من خلال سياسات الأمان القوية، والتحكم في الوصول، وتحديد المعدلات.

تتألق إمكانات Envoy الحقيقية عند اقترانها بـ Istio. قدرتها على التوسيع، المدعومة بواسطة WebAssembly، هي تغيير لقواعد اللعبة للتطبيقات المخصصة، والسياسات، والقياس. بالإضافة إلى ذلك، يفتح واجهة برمجة تطبيقات Proxy-Wasm الخاصة بـ Istio الأبواب لمزيد من التخصيصات لـ Envoy.

5.2. خطة التحكم: قائد Istiod

تعرف على istiod، قائد أوركسترا خطة التحكم في Istio. يقوم هذا القائد بتحويل القواعد المعقدة لإدارة الحركة والتوجيه إلى تكوينات صديقة لـ Envoy، وينشرها بسلاسة إلى بروكسيات sidecars.

تذكر بنية Istio السابقة مع مكوناتها الفردية؟ حسنًا، لتبسيط الأمور، تم دمج هذه المكونات في istiod الموحد. لكن لا تخف، تظل الوظائف الأساسية سليمة.

في جوهره، يستخدم istiod نفس الشيفرة وواجهات برمجة التطبيقات مثل أسلافه. لا يزال Pilot، على سبيل المثال، قائد اكتشاف الخدمات، يحول التفاصيل الخاصة بالمنصة إلى لغة عالمية تفهمها بروكسيات sidecars. تتيح هذه المرونة لـ Istio التناغم مع بيئات متنوعة مثل Kubernetes والآلات الافتراضية.

يتولى istiod أيضًا مسؤولية الأمان، ويقيم مصادقة قوية بين الخدمات ومستخدمي النهاية مع نظام إدارة الهوية والشهادات المدمج. قم بفرض سياسات الأمان الدقيقة بناءً على هوية الخدمة بسهولة. علاوة على ذلك، يعمل istiod كسلطة شهادة موثوقة (CA)، ويصدر الشهادات لتأمين الاتصال بين الخدمات باستخدام MTLS.

6. كيف يعمل Istio

لقد استكشفنا الميزات النموذجية لشبكة الخدمات وفككنا بنية Istio ومكوناته الأساسية. الآن، دعونا نكشف كيف يوفر Istio هذه الميزات باستخدام مكوناته الأساسية.

سنعيد زيارة نفس فئات الميزات التي استكشفناها سابقًا.

6.1. إدارة الحركة

تقدم واجهة برمجة تطبيقات إدارة الحركة في Istio تحكمًا دقيقًا في حركة شبكة الخدمات. خصص تكوينات الحركة باستخدام هذه واجهات برمجة التطبيقات وحدد موارد واجهة برمجة التطبيقات باستخدام تعريفات موارد Kubernetes المخصصة (CRDs). الموارد الرئيسية لواجهة برمجة التطبيقات لتوجيه الحركة هي الخدمات الافتراضية وقواعد الوجهة:

الخدمة أ
الخدمة ب
قاعدة الوجهة - الإصدار 1
75%
قاعدة الوجهة - الإصدار 2
25%
الخدمة ب- v1
الخدمة ب- v2

تحدد الخدمة الافتراضية كيفية توجيه الطلبات إلى خدمة ضمن شبكة Istio. تتكون من قاعدة أو أكثر من قواعد التوجيه التي يتم تقييمها بالتتابع. بعد توجيه الخدمة الافتراضية، تُطبق قواعد الوجهة للتحكم في حركة المرور إلى وجهة، مثل تجميع مثيلات الخدمة حسب الإصدار.

6.2. الأمان

تأسست أساسيات أمان Istio على هويات قوية لكل خدمة. تتعاون عملاء Istio بجانب كل بروكسي Envoy مع istiod لأتمتة تدوير المفاتيح والشهادات:

الخدمة
عميل Istio
طلب
توقيع الشهادة
موقع
الشهادة
بروكسي Envoy
سلطة الشهادة
Istio
سياسة المصادقة
سياسة التفويض

يدعم Istio نوعين من المصادقة: مصادقة الأقران ومصادقة الطلب. تحمي مصادقة الأقران الاتصال بين الخدمات من خلال حل MTLS الخاص بـ Istio. تتعامل مصادقة الطلب مع مصادقة المستخدم النهائي من خلال التحقق من JSON Web Token (JWT) باستخدام مزود مصادقة مخصص أو مزود OpenID Connect (OIDC).

يفرض Istio التحكم في وصول الخدمة من خلال تطبيق سياسات التفويض. تنظم هذه السياسات الحركة الواردة في بروكسي Envoy، مما يسمح بالتحكم في الوصول على مستوى الشبكة، والنطاق، والخدمة.

6.3. القدرة على المراقبة

ينشئ Istio بيانات قياسية شاملة، بما في ذلك القياسات، والتتبع الموزع، وسجلات الوصول، لجميع الاتصالات بين الخدمات داخل الشبكة. تشمل هذه البيانات القياسية قياسات على مستوى البروكسي، والخدمات، وخطة التحكم.

في السابق، كانت Mixer هي المكون المركزي في بنية المراقبة الخاصة بـ Istio. ومع ذلك، يستبدل Telemetry v2 ميزات Mixer مع ملحقات بروكسي Envoy:

بروميثيوس
قياسات على مستوى البروكسي
قياسات على مستوى الخدمة
ملحق
ملحق
ملحق
بروكسي Envoy
الخدمة أ
قياسات على مستوى البروكسي
قياسات على مستوى الخدمة
ملحق
ملحق
ملحق
بروكسي Envoy
الخدمة ب

ينشئ Istio تتبعات موزعة من خلال بروكسيات Envoy ويدعم العديد من أنظمة التتبع مثل Zipkin وJaeger وLightstep وDatadog. يمكن ضبط معدل توليد التتبع. بالإضافة إلى ذلك، ينشئ Istio سجلات الوصول لحركة خدمة في تنسيقات قابلة للتخصيص.

7. الغوص في Istio

لقد حصلنا على ما يكفي من الخلفية، دعونا نرى Istio في العمل! سنقوم بتثبيت Istio على مجموعة Kubernetes وسنستخدم تطبيق خدمات مصغرة بسيط لعرض قوته.

7.1 التثبيت

يتم تثبيت Istio بطرق مختلفة، لكن تحميل واستخراج الإصدار الأخير لنظام التشغيل الخاص بك (مثل Windows) هو الأسهل. يتضمن الحزمة المستخرجة عميل istioctl في مجلد bin. استخدم istioctl لتثبيت Istio على مجموعة Kubernetes الخاصة بك:

istioctl install --set profile=demo -y

يتم تثبيت مكونات Istio على مجموعة Kubernetes الافتراضية باستخدام ملف التعريف التجريبي. استبدل 'التجريبي' بملف تعريف آخر خاص بالموفر إذا لزم الأمر.

بعد ذلك، أخبر Istio بإدخال بروكسيات Envoy الجانبية تلقائيًا عند نشر التطبيقات على هذه مجموعة Kubernetes:

kubectl label namespace default istio-injection=enabled

نستخدم هنا kubectl، على افتراض أن لديك مجموعة Kubernetes (مثل Minikube) وأداة سطر أوامر Kubernetes kubectl تم إعدادها.

7.2 التطبيق النموذجي

تخيل تطبيق طلبات عبر الإنترنت بسيط لهذه التجربة. يتكون من ثلاثة خدمات مصغرة تعمل معًا لتلبية الطلبات:

خدمة الحجز
خدمة المخزون
خدمة الشحن

لن نتعمق في تفاصيل الخدمات المصغرة، ولكن من السهل إنشاؤها باستخدام Spring Boot وREST APIs. من الضروري، إنشاء صور Docker لهذه الخدمات المصغرة لنشرها على Kubernetes.

7.3 النشر

نشر أحمال الحاويات على مجموعات Kubernetes مثل Minikube بسيط. استخدم موارد النشر والخدمة للإعلان عن الوصول إلى الحمل. عادةً ما تحددها في ملف YAML:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: order-service
  namespace: default
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: order-service
        version: v1
    spec:
      containers:
      - name: order-service
        image: kchandrakant/order-service:v1
        resources:
          requests:
            cpu: 0.1
            memory: 200
---
apiVersion: v1
kind: Service
metadata:
  name: order-service
spec:
  ports:
  - port: 80
    targetPort: 80
    protocol: TCP
    name: http
  selector:
    app: order-service

هذا هو تعريف أساسي للنشر والخدمة لـ order-service. أنشئ ملفات YAML مماثلة لـ inventory-service وshipping-service.

يمكن نشر هذه الموارد بسهولة باستخدام kubectl:

kubectl apply -f booking-service.yaml -f inventory-service.yaml -f shipping-service.yaml

نظرًا لأننا مكننا الإدخال التلقائي لبروكسيات Envoy الجانبية للاسم الافتراضي، فإن كل شيء يتم التعامل معه. أو، يمكنك حقن بروكسيات Envoy الجانبية يدويًا باستخدام الأمر kube-inject من istioctl.

7.4 الوصول إلى التطبيق

يتعامل Istio في المقام الأول مع حركة المرور الشبكية. بشكل افتراضي، يتم حظر الحركة من أو إلى خارج الشبكة. يستخدم Istio بوابات لإدارة حركة المرور الشبكية الواردة والصادرة، مما يمنحك تحكمًا دقيقًا فيما يدخل أو يخرج. يقدم Istio نشرات بوابة البروكسي المسبقة التكوين: istio-ingressgateway وistio-egressgateway.

أنشئ بوابة وخدمة افتراضية لتطبيقك:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: booking-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: booking
spec:
  hosts:
  - "*"
  gateways:
  - booking-gateway
  http:
  - match:
    - uri:
        prefix: /api/v1/booking
    route:
    - destination:
        host: booking-service
        port:
          number: 8080

نستخدم هنا وحدة التحكم الافتراضية الخاصة بـ Istio. بالإضافة إلى ذلك، قمنا بتعريف خدمة افتراضية لتوجيه الطلبات إلى خدمة الحجز.

يمكنك أيضًا تعريف بوابة مخرجة لحركة المرور الشبكية الصادرة.

8 حالات استخدام Istio الشائعة

لقد نشرنا تطبيقًا بسيطًا على Kubernetes مع Istio. دعونا نستكشف ميزات Istio القوية ونرى كيف يمكنها تحسين تطبيقنا.

8.1 توجيه الطلبات

تخيل نشر إصدارات متعددة من خدمة مصغرة مثل خدمة الشحن. تريد إدخال ميزات جديدة تدريجيًا دون التأثير على جميع المستخدمين. يتيح لك توجيه الطلبات القيام بذلك من خلال توجيه جزء من الحركة إلى الإصدار الأخير.

استخدم قواعد توجيه الخدمة الافتراضية لتحقيق ذلك.

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: shipping-service
spec:
  hosts:
    - shipping-service
  http:
  - route:
    - destination:
        host: shipping-service
        subset: v1
      weight: 90
    - destination:
        host: shipping-service
        subset: v2
      weight: 10
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: shipping-service
spec:
  host: shipping-service
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2

يمكن أيضًا لقواعد التوجيه تصفية الحركة بناءً على رؤوس أو سمات أخرى. يحدد حقل الوجهة الخدمة المستهدفة للطلبات المطابقة.

8.2 كسر الدائرة

منع الفشل المتسلسل مع كسر الدائرة. يكتشف هذا النمط الأخطاء ويتوقف مؤقتًا عن الحركة إلى الخدمات المتعطلة، مما يحمي صحة تطبيقك بشكل عام.

تتيح لك قاعدة الوجهة الخاصة بـ Istio تكوين سلوك كسر الدائرة لخدمات مثل خدمة المخزون.

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: inventory-service
spec:
  host: inventory-service
  trafficPolicy:
    connectionPool:
      tcp:
        maxConnections: 1
      http:
        http1MaxPendingRequests: 1
        maxRequestsPerConnection: 1
    outlierDetection:
      consecutive5xxErrors: 1
      interval: 1s
      baseEjectionTime: 3m
      maxEjectionPercent: 100

من خلال تحديد الحد الأقصى لعدد الاتصالات، والطلبات المعلقة، والطلبات لكل اتصال، يمكنك إدارة الحركة بشكل فعال ومنع التحميل الزائد.

8.3 تمكين TLS المتبادل

يضمن TLS المتبادل اتصالاً آمنًا بين الخدمات من خلال مطالبة الطرفين بالمصادقة. يقوم Istio بتمكين TLS المتبادل تلقائيًا للخدمات باستخدام بروكسياته.

بينما يفرض Istio TLS المتبادل بين الخدمات الموصولة عبر البروكسي، يمكن أن تصل حركة المرور النصية العادية إلى الخدمات دون البروكسيات. استخدم سياسات PeerAuthentication لفرض TLS المتبادل في شبكة الخدمات بالكامل.

apiVersion: "security.istio.io/v1beta1"
kind: "PeerAuthentication"
metadata:
  name: "default"
  namespace: "istio-system"
spec:
  mtls:
    mode: STRICT

يمكنك تطبيق TLS المتبادل على مستوى الشبكة، أو النطاق، أو الخدمة. تتجاوز السياسات الخاصة بالخدمة الإعدادات على مستوى النطاق.

8.4 التحكم في الوصول باستخدام JWT

JSON Web Tokens (JWT) هي معيار لنقل معلومات المستخدم بشكل آمن. تُستخدم على نطاق واسع للمصادقة والتفويض.

تتيح لك سياسة التفويض الخاصة بـ Istio التحكم في الوصول إلى خدمات مثل خدمة الحجز بناءً على مطالب JWT.

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: require-jwt
  namespace: default
spec:
  selector:
    matchLabels:
      app: booking-service
  action: ALLOW
  rules:
  - from:
    - source:
       requestPrincipals: ["[email protected]/[email protected]"]

يتطلب الحصول على JWTs صالحة مع مطالب محددة للوصول المصرح به. تنشئ Istio خاصية requestPrincipal من مطالب المُصدر والموضوع لـ JWT.

9. الأفكار النهائية

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

9.1. هل شبكة الخدمات ضرورية دائمًا؟

بينما تقدم الشبكات الخدماتية مزايا، ضع في اعتبارك هذه العيوب:

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

تقدم الشبكات الخدماتية فوائد، لكن من الضروري تقييم تعقيد تطبيقك بدقة. قم بوزن المزايا مقابل التعقيد الإضافي.

9.2. بدائل Istio

Istio هو شبكة خدمات شائعة تدعمها قادة الصناعة، لكنها ليست الخيار الوحيد. إليك نظرة سريعة على Linkerd وConsul.

Linkerd هي شبكة خدمات مفتوحة المصدر مخصصة لـ Kubernetes تكتسب شعبية. إنها مشروع حاضن CNCF وتعمل بطريقة مشابهة لـ Istio، باستخدام بروكسيات TCP. يُطلق على بروكسي Linkerd المعتمد على Rust اسم Linkerd-proxy.

عادةً ما تكون Linkerd أبسط من Istio بسبب تركيزها على Kubernetes. ومع ذلك، تشبه مجموعة ميزاتها عن كثب ميزات Istio، وهيكلها الأساسي مشابه. تتكون Linkerd من واجهة مستخدم، وخطة بيانات، وخطة تحكم.

Consul هي شبكة خدمات مفتوحة المصدر من HashiCorp تتكامل مع أدوات البنية التحتية الأخرى من HashiCorp. تدعم خطة بيانات Consul كلاً من نماذج الدمج الخاصة بالبروكسي والنماذج الأصلية. تقدم بروكسيًا مدمجًا ولكن يمكن أن تعمل أيضًا مع Envoy.

يعمل Consul خارج Kubernetes، ويدعم منصات مثل Nomad. يستخدم عملاء على كل عقدة لإجراء فحوصات الصحة ويتواصل مع خوادم Consul لتخزين البيانات وتكرارها. على الرغم من تقديم ميزات شبكة خدمات قياسية، إلا أن Consul أكثر تعقيدًا في النشر والإدارة.

10. الخاتمة

لقد استكشف هذا الدليل أساسيات بنية شبكة الخدمات وقدرات Istio القوية. لقد غصنا في هيكل Istio الأساسي، ومكوناته، وتطبيقاته العملية. بحلول النهاية، يجب أن تكون لديك فكرة قوية عن كيفية تثبيت واستخدام Istio في سيناريوهات شائعة.

آراء العملاء

تم جمع المراجعات التالية على موقعنا.

4 نجوم بناءً على 130 مراجعات
تنفيذ استثنائي لشبكة خدمات Istio
أدى تنفيذ شبكة خدمات Istio إلى تحسين معماريتنا للخدمات المصغرة بشكل كبير، مما أسفر عن زيادة بنسبة 40% في الكفاءة.
تمت المراجعة بواسطة السيد سامي العلي (مهندس برمجيات)
موصى به بشدة لإدارة الخدمات المصغرة
كانت شبكة خدمات Istio نقطة تحول، حيث خفضت زمن الوصول لدينا بنسبة 30%. أوصي بشدة!
تمت المراجعة بواسطة الآنسة آمنة النعيمي (أخصائي DevOps)
أداة رائعة لإدارة الحركة
أدى استخدام شبكة خدمات Istio لإدارة الحركة إلى تحسين كفاءة موازنة الحمل لدينا بنسبة 25%.
تمت المراجعة بواسطة السيد جمال الراشدي (مدير تكنولوجيا المعلومات)
ميزات أمان معززة
جعلت ميزات الأمان في شبكة خدمات Istio نظامنا أكثر متانة، حيث انخفضت الثغرات بنسبة 50%.
تمت المراجعة بواسطة السيد عمار الدوسري (محلل أمن المعلومات)
تحسين الرؤية والمراقبة
حسنت أدوات المراقبة في شبكة خدمات Istio قدرات المراقبة لدينا، مما قلل من وقت استكشاف الأخطاء وإصلاحها بنسبة 35%.
تمت المراجعة بواسطة السيد حسن الشريف (مدير النظام)
تبسيط إدارة الخدمة
لم تكن إدارة الخدمة أسهل من قبل بفضل شبكة خدمات Istio، التي خفضت وقت التوقف عن الخدمة لدينا بنسبة 45%.
تمت المراجعة بواسطة السيد محمود الزهراني (مدير المشروع)
فعال للنشر على نطاق واسع
تعد شبكة خدمات Istio فعالة في عمليات النشر على نطاق واسع، حيث حسنت من سرعة النشر بنسبة 50%.
تمت المراجعة بواسطة السيد يحيى القحطاني (مهندس سحابة)
تسهيل التقدم المهني
تقدم الشركة فرصًا وافرة للتطوير الذاتي من خلال دورات تدريبية متنوعة وإرشادات دعم من المشرفين، مما يتيح تقدمًا سريعًا في الحياة المهنية.
تمت المراجعة بواسطة السيد يوسف العبيدي (مدير المبيعات)
إدارة سياسات قوية
تعد إدارة السياسات مع شبكة خدمات Istio قوية، حيث خفضت انتهاكات السياسة بنسبة 40%.
تمت المراجعة بواسطة الآنسة لينا أحمد (مدير التكنولوجيا)
دعم ممتاز ووثائق
الدعم والوثائق لشبكة خدمات Istio ممتازة، مما يقلل من وقت اندماجنا بنسبة 20%.
تمت المراجعة بواسطة السيد عبد الله الحسين (مهندس دعم تقني)
حل متعدد الاستخدامات وقابل للتوسع
تعد شبكة خدمات Istio حلًا متعدد الاستخدامات وقابل للتوسع، مما عزز قابلية توسع نظامنا بنسبة 35%.
تمت المراجعة بواسطة السيدة هدى الراشدي (مهندس الحلول)
تبسيط الاتصال بين الخدمات
من خلال تبسيط الاتصال بين الخدمات، خفضت شبكة خدمات Istio معدلات الأخطاء لدينا بنسبة 30%.
تمت المراجعة بواسطة السيد فهد القحطاني (مطور خلفي)
حل شبكة خدمات فعال من حيث التكلفة
تعد شبكة خدمات Istio حلًا فعالًا من حيث التكلفة، مما يوفر لنا 20% من تكاليف البنية التحتية السحابية.
تمت المراجعة بواسطة السيد فواز الأنصاري (مدير المالية)

لديك أسئلة؟ ابحث عن الإجابات أدناه!

أكثر الأسئلة الشائعة لدينا

Istio هي شبكة خدمات مفتوحة المصدر توفر طريقة موحدة لتأمين، وربط، ومراقبة الخدمات المصغرة. تقدم قدرات مثل إدارة الحركة، والأمان، والمراقبة، مما يسهل إدارة تعقيدات معماريات الخدمات المصغرة.
تتيح لك Istio التحكم الدقيق في سلوك الحركة من خلال قواعد توجيه غنية، وإعادة المحاولة، والفشل، وحقن الأخطاء. يساعد ذلك في تحسين تدفق الحركة بين الخدمات المصغرة، مما يضمن موثوقية ومرونة.
تقدم Istio ميزات أمان قوية تشمل TLS المتبادل لمصادقة الخدمات بين الخدمات، والتحكم في الوصول القائم على الدور، وإنفاذ السياسات. تضمن هذه الميزات أن الاتصال بين الخدمات آمن ومتوافق مع السياسات التنظيمية.
نعم، يمكن تكامل Istio مع خطوط أنابيب CI/CD الحالية لأتمتة النشر وضمان التسليم المستمر للخدمات المصغرة. يساعد هذا التكامل في الحفاظ على المرونة وسرعة دورات تطوير البرمجيات.