سؤال

في وظيفتي اليومية، قمنا بتحميل خوادم ويب متوازنة يمكنها تحميل خوادم تطبيقات متوازنة عبر خدمات الويب (ومؤخرًا WCF).في أي وقت، لدينا 4-6 فرق مختلفة لديها القدرة على إضافة مواقع ويب أو خدمات جديدة أو استهلاك الخدمات الحالية.ربما لدينا حوالي 20-30 تطبيق ويب مختلفًا والخدمات المقابلة.

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

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

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

ما هي الخيارات المتاحة لمحاولة رسم علاقات خدمة الويب؟في معظم الأحيان، نتحدث بشكل أساسي عن الخدمات الداخلية (من الويب إلى التطبيق، ومن التطبيق إلى التطبيق، ومن الدفعة إلى التطبيق، وما إلى ذلك).من أعلى رأسي، يمكنني التفكير في طريقتين للتعامل مع الأمر:

  • تحليل التجميعات لأية مراجع ويب.العيب هنا هو أنه ليس كل شيء مرجع ويب ولست متأكدًا من كيفية إدراج اتصالات WCF.ومع ذلك، سيكون هذا على الأقل بداية للعثور على 80% من الاتصالات.هل يعرف أحد أي أدوات يمكنها إجراء هذا التحليل؟كما قلت، لقد استخدمت Reflector لمراجع التجميع ولكن لم أتمكن من العثور على أي شيء لمراجع الويب.
  • من المحتمل الاستفادة من IIS ومراقبة حركة المرور الواردة والخروج بشكل سلبي ومعرفة ما يتم الاتصال به ومن أين يتم الاتصال به.نحن نبحث في أدوات المؤسسة التي يمكن أن تساعد ولكن سيستغرق الأمر بعض الوقت قبل أن يتم تنفيذها (وتكلف الكثير).ولكن هل هناك أي شيء يمكن أن يساعد بسرعة وبتكلفة زهيدة؟يمكن لأداة واحدة على وجه الخصوص (AmberPoint) الاستفادة من IIS على الخوادم ومراقبة حركة المرور الواردة والصادرة، وإضافة القليل من الصلصة الخاصة والبدء في إنشاء خريطة لحركة المرور.جميل جدا، ولكن يكلف حزمة.

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

شكرا يا مات

هل كانت مفيدة؟

المحلول

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

أعتقد أن الحل الأسرع هو الاستعلام عن سجلات IIS الخاصة بك والعثور على عناوين URL المصدرية التي تنشأ من خوادمك الخاصة.ستكون قادرًا على الأقل على تعقب الخوادم التي يأتي منها عملاؤك.

وأيضًا، إذا كان لديك بالفعل نوع ما من آلية المصادقة، فيمكنك تتبع من يستخدم خدمة معينة بناءً على تسجيل الدخول.

أنت على حق بشأن AmberPoint.هناك أدوات أخرى تقوم بفهرسة حركة مرور الخدمة وتقديم تقارير توضح ما يحدث لخدماتك.لدى Systinet وSOA Software وActional أيضًا منتجات مشابهة لـ Amberpoint لكن Amberpoint لديها إصدار مجاني، على ما أعتقد.

نصائح أخرى

أسهل طريقة هي البحث في السجلات، ولكن إذا لم يتضمن ذلك المُحيل، فقد ترغب أيضًا في مراقبة ما يخرج من الويب الخاص بك إلى خادم التطبيق.يمكنك استخدام أدوات مثل Wireshark أو Microsoft Network Monitor لرؤية حركة المرور هذه.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top