تكوين نقطة نهاية للعمل على حد سواء كما عامل والمشترك

StackOverflow https://stackoverflow.com/questions/1612581

  •  06-07-2019
  •  | 
  •  

سؤال

هل من الممكن تكوين نقطة نهاية ليكون بمثابة عامل استرجاع وظائف من موزع والاشتراك في بعض نوع من الرسائل؟

ولدي على السيناريو التالي (مقتبس لبيع المصطلحات)

و*) إدارة مركزية تنشر بين الحين والآخر لائحة الأسعار الجديدة. يجب أن يتم إخطار جميع العاملين. وهذا يعني، عامل يجب الاشتراك في هذا الحدث.

و*) عند وصول النظام الجديد على المستوى المركزي، ويرسله إلى الموزع، والتي أرسلها للعامل الخمول المقبل لتتم معالجتها. وهذا يعني، وإلى أن يتم تكوين عامل لتلقي الرسائل من الموزع. أنا استخدم التكوين التالية:

 <MsmqTransportConfig
    InputQueue="worker"
    ErrorQueue="error"
    NumberOfWorkerThreads="2"
    MaxRetries="5"
  />

  <UnicastBusConfig
    DistributorControlAddress="distributorControlBus"
    DistributorDataAddress="distributorDataBus" >    
    <MessageEndpointMappings>
      <add Messages="Events" Endpoint="messagebus" />
    </MessageEndpointMappings>
  </UnicastBusConfig>

عند I تكوينه فقط كعامل أو فقط كما كل شيء مشترك يعمل كما هو متوقع، ولكن ليس عندما تكوينه على حد سواء.

واكتشفت أن رسالة تصل في قائمة الانتظار مدخلات أساسية مع عنوان الموزع كما عنوان المرسل بدلا من عنوان العامل، والناشر تعترف أي مشترك في هذه الحالة. أيه أفكار؟ يرجع الفضل في ذلك مسبقا.

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

المحلول

ليس من المفترض أن يتم استخدامها بهذه الطريقة IFAIK

والعمال. وأعتقد أن الطريق للذهاب يكون أن يكون لديك وسط الاشتراك في الأسعار وعندما "NewOrderMessage" يصل إثراء هذه البيانات مع الأسعار المطلوبة (ربما أسعار الوحيدة للمنتجات في هذا ترتيب معين) وإرسال ProcessOrderRequest جديدة لمدخلات طابور من الموزع.

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

هل هذا أي معنى؟

و/ أندرياس

نصائح أخرى

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

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

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