برای ارائه مقیاس پذیری گسترده یک پارچه پیام رسان بزرگ، معمولاً می خواهید به بسیاری از کارگزاران اجازه دهید تا با هم به یک شبکه متصل شوند تا بتوانید به تعداد دلخواه مشتری داشته باشید که همه به طور منطقی به یکدیگر متصل شوند - و بر اساس آن تعداد دلال های پیام را اجرا کنید. تعداد کلاینت ها و توپولوژی شبکه شما
اگر از توپولوژی به سبک کلاینت/سرور یا هاب/گفتار استفاده می کنید، کارگزاری که به آن متصل می شوید به یک نقطه شکست تبدیل می شود که دلیل دیگری برای تمایل به شبکه (یا خوشه) از کارگزاران است تا بتوانید از شکست هر کارگزار خاصی جان سالم به در ببرید. ماشین یا زیرشبکه
از 1. 1 به بعد، ActiveMQ از شبکه های کارگزاران پشتیبانی می کند که به ما امکان می دهد از صف ها و موضوعات توزیع شده در شبکه ای از کارگزاران پشتیبانی کنیم.
این به مشتری اجازه می دهد تا به هر کارگزاری در شبکه متصل شود - و در صورت شکست به کارگزار دیگری شکست بخورد - از دیدگاه مشتری، یک خوشه HA از کارگزاران را فراهم می کند.
N. B. به طور پیش فرض، اتصال شبکه تنها یک راه است - کارگزاری که اتصال را برقرار می کند، پیام هایی را به کارگزار(هایی) که به آن متصل است ارسال می کند. از نسخه 5. x ActiveMQ، یک اتصال شبکه را می توان به صورت اختیاری فعال کرد که دورو باشد، که می تواند برای معماری هاب و اسپیکر، جایی که هاب پشت فایروال و غیره است، مفید باشد.
پیکربندی شبکه ای از کارگزاران
ساده ترین راه برای پیکربندی شبکه کارگزاران از طریق پیکربندی Xml است. دو راه اصلی برای ایجاد شبکه ای از کارگزاران وجود دارد
از یک لیست کدگذاری شده سخت از عناصر NetworkCoector استفاده کنید.
از Discovery برای شناسایی کارگزاران (چند پخش یا قرار ملاقات) استفاده کنید.
مثال با یک لیست ثابت از URI ها
در اینجا نمونه ای از استفاده از لیست ثابت URI ها آورده شده است
ActiveMQ همچنین از انتقال های دیگری غیر از tcp پشتیبانی می کند تا برای اتصال شبکه مانند http استفاده شود.
مثال با استفاده از کشف چندپخشی
این مثال از کشف چندپخشی استفاده می کند
راه اندازی کانکتورهای شبکه
به طور پیش فرض، اتصال های شبکه به عنوان بخشی از دنباله راه اندازی کارگزار به صورت سریال آغاز می شوند. هنگامی که برخی از شبکه ها کند هستند، از راه اندازی به موقع شبکه های دیگر جلوگیری می کنند. نسخه 5. 5 از ویژگی کارگزار networkCoectorStartAsync=”true” پشتیبانی می کند که باعث می شود کارگزار از یک مجری برای شروع اتصالات شبکه به صورت موازی و ناهمزمان با شروع کارگزار استفاده کند.
کشف ایستا
با Static: Discovery می توانید فهرست URL های کارگزار را کدنویسی کنید. برای هر کدام یک کانکتور شبکه ایجاد خواهد شد.
برخی از ویژگی های مفید وجود دارد که می توانید برای تلاش مجدد روی اتصال دهنده شبکه ثابت تنظیم کنید:
| ویژگی | پیش فرض | شرح |
| تاخیر اولیه اتصال مجدد | 1000 | زمان (MS) قبل از تلاش برای اتصال مجدد صبر کنید (در صورت استفاده از exponentialbackoff نادرست است) |
| MaxRecoectDelay | 30000 | زمان (MS) قبل از تلاش برای اتصال مجدد صبر کنید |
| UseExponententAbbackoff | درست است، واقعی | افزایش زمان بین اتصال مجدد برای هر خرابی در یک توالی اتصال مجدد |
| Backoffmultiplier | 2 | در صورت استفاده از بازگرداندن نمایی ، از Multipler برای افزایش زمان انتظار استفاده می شود |
کشف Masterslave
یک گزینه پیکربندی مشترک برای شبکه ای از کارگزاران ایجاد یک پل شبکه بین یک کارگزار و یک جفت کارگزار N+1 (استاد/برده) است. تنظیمات معمولی شامل استفاده از Failover: Transport است ، اما گزینه های غیر شهری دیگری نیز وجود دارد که باید برای آن تنظیم شود تا به صورت دلخواه کار کند. به همین دلیل ، ActiveMQ V5. 6+ دارای یک عامل کشف راحتی است که می تواند با Masterslave مشخص شود: پیشوند حمل و نقل:
URI ها به ترتیب ذکر شده اند: استاد ، برده 1 ، برده 2 ... برده
همان گزینه های پیکربندی برای استاتیک: برای MasterSlave در دسترس هستند:
خصوصیات شبکه شبکه
| ویژگی | پیش فرض | شرح |
| نام | پل | نام شبکه - برای بیش از یک کانکتور شبکه بین همان دو کارگزار - از نامهای مختلف استفاده کنید |
| پویا | دروغ | اگر درست باشد ، فقط هنگامی که یک اشتراک با دوام مربوطه دوباره فعال می شود ، اشتراک با دوام شبکه ای را فعال کنید ، به طور پیش فرض آنها در هنگام راه اندازی فعال می شوند. |
| decreasenetworkconsumerpriority | دروغ | اگر درست است ، از اولوی ت-5 شروع می شود ، اولویت اعزام به یک مصرف کننده صف شبکه را کاهش می دهد و دورتر از آن (در هاپ شبکه) از تولید کننده است. هنگامی که همه مصرف کنندگان شبکه نادرست از اولویت پیش فرض (0) به عنوان مصرف کنندگان محلی استفاده می کنند |
| شبکه | 1 | تعداد کارگزاران موجود در شبکه که پیام ها و اشتراک ها می توانند از طریق آن عبور کنند (پیام و مصرف کنند ه-TTL را تنظیم می کند) |
| پیام | 1 | (نسخه 5. 9) تعداد کارگزاران موجود در شبکه که پیام ها می توانند از آن عبور کنند |
| صرفه جویی در مصرف | 1 | (نسخه 5. 9) تعداد کارگزاران موجود در شبکه که اشتراک ها می توانند از آن عبور کنند (در یک مش 1 نگه دارید) |
| ConduitsUbscriptions | درست است، واقعی | مصرف کنندگان متعدد مشترک در همان مقصد توسط شبکه به عنوان یک مصرف کننده رفتار می شوند |
| موارد مستثنی | خالی | مقصد مطابق با این لیست از طریق شبکه ارسال نمی شود (این فقط مربوط به دینامیکی است. |
| دینامین به صورت پویا | خالی | مقصدی که با این لیست مطابقت دارند از طریق شبکه N. B. ارسال می شوند. لیست خالی به این معنی است |
| UseVirtualDestSubs | دروغ | در صورت صحت ، اتصال شبکه به پیام های مشاوره برای مصرف کنندگان مقصد مجازی گوش می دهد |
| از لحاظ آماری | خالی | مقصدی که مطابقت دارد همیشه از طریق شبکه منتقل می شود - حتی اگر هیچ مصرف کننده ای تا به حال علاقه خود را ثبت نکرده باشد |
| دوتایی | دروغ | در صورت صحت ، از اتصال شبکه برای تولید و مصرف پیام استفاده می شود. این برای هاب و سناریوهای صحبت کردن مفید است وقتی که توپی در پشت فایروال و غیره قرار دارد. |
| پیش بینی کردن | 1000 | Sets the prefetch size on the network coector’s consumer. It must be>0 زیرا مصرف کنندگان شبکه برای پیام ها نظرسنجی نمی کنند |
| سرکوب شده | دروغ | (از 5. 3) اگر درست باشد ، اشتراک های تکراری در شبکه که از واسطه های شبکه ناشی می شوند سرکوب می شوند. به عنوان مثال ، با توجه به کارگزاران A ، B و C ، از طریق Discovery Multicast شبکه می شوند. یک مصرف کننده در A باعث می شود یک مصرف کننده شبکه بر روی B و C. ایجاد کند. علاوه بر این ، C به B (بر اساس مصرف کننده شبکه از A) شبکه می زند و B در صورت صحت ، شبکه بین C و B را به هم می زند.(کپی کردن اشتراک های شبکه موجود آنها به A) سرکوب می شود. کاهش گزینه های مسیریابی از این طریق ، تعیین کننده ها یا مصرف کنندگان از طریق شبکه به عنوان پتانسیل مسیرهای مرده (پیام های گیر) از بین می روند. برای نیاز به این مداخله ، NetworkTTL باید از تعداد کارگزار مطابقت داشته باشد یا از آن فراتر رود. |
| BridgetEmpDestinations | درست است، واقعی | آیا می توان پیام های مشاوره ای را برای مقصد های ایجاد شده در شبکه کارگزاران پخش کرد یا خیر. مقصد دما به طور معمول برای پیام های درخواست درخواست ایجاد می شود. پخش اطلاعات مربوط به مقصد دما به طور پیش فرض روشن می شود تا مصرف کنندگان یک پیام درخواست درخواست به کارگزار دیگری در شبکه وصل شوند و هنوز هم پاسخ را در مقصد موقت مشخص شده در هدر JMSreplyto ارسال می کنند. در سناریوی برنامه ای که بیشتر/همه پیام ها از الگوی درخواست درخواست استفاده می کنند ، این ترافیک اضافی را در شبکه کارگزار ایجاد می کند زیرا هر پیام به طور معمول یک آدرس JMSreplyto منحصر به فرد را تعیین می کند (که باعث می شود یک مقصد دما جدید از طریق یک پیام مشاوره در ایجاد و پخش شودشبکه کارگزاران). در هنگام غیرفعال کردن این ویژگی ، چنین ترافیک شبکه ای می تواند کاهش یابد اما پس از آن نیاز به تولید کننده و مصرف کنندگان یک پیام درخواست درخواست نیاز به همان کارگزار دارند. مصرف کنندگان از راه دور (یعنی از طریق کارگزار دیگر در شبکه خود متصل هستند) قادر به ارسال پیام پاسخ نخواهند بود اما در عوض یک استثناء "مقصد دما وجود ندارد". |
| همیشه syncsend | دروغ | (نسخه 5. 6) هنگامی که درست است ، پیام های غیر مداوم با استفاده از درخواست/پاسخ به جای یک راه به کارگزار از راه دور ارسال می شوند. این تنظیم با پیام های مداوم و غیر مداوم یکسان است. |
| استاتیک نوری | دروغ | (نسخه 5. 6) در صورت تنظیم صحیح ، کارگزار به صورت پویا به مصرف کنندگان جدید پاسخ نمی دهد. فقط برای ایجاد اشتراک های تقاضا فقط استفاده می کند |
| نام کاربری | خالی | نام کاربری برای تأیید اعتبار در برابر کارگزار از راه دور |
| کلمه عبور | خالی | رمز عبور نام کاربری برای تأیید اعتبار در برابر کارگزار از راه دور |
قابلیت اطمینان
شبکه های کارگزاران فروشگاه قابل اعتماد و پیام های رو به جلو را انجام می دهند. اگر منبع با دوام ، پیام های مداوم در صف یا اشتراک موضوع بادوام باشد ، یک شبکه ضمانت دوام را حفظ می کند. با این حال شبکه ها نمی توانند دوام را اضافه کنند که منبع با دوام باشد. اشتراک های موضوع غیر بادوام و مقصد موقت (هم صف و هم مباحث) با تعریف از دوام استفاده نمی کنند. هنگامی که منابع غیر بادوام شبکه می شوند ، در صورت خرابی ، پیام های نواحی می توانند از بین بروند.
مرتب سازی
سفارش کل پیام با شبکه های کارگزاران حفظ نمی شود. سفارش کل با یک مصرف کننده واحد کار می کند اما یک شبکه شبکه مصرف کننده دوم را معرفی می کند. علاوه بر این ، مصرف کنندگان Bridge Bridge پیام ها را از طریق تولید کننده (..) به جلو می روند ، بنابراین آنها از سر صف در کارگزار حمل و نقل به دم صف در هدف می روند. اگر مصرف کننده مجرد بین کارگزاران شبکه ای حرکت کند ، اگر همه پیام ها همیشه از مصرف کننده پیروی کنند ، ممکن است سفارش کل حفظ شود اما تضمین این مسئله با عقب نشینی پیام بزرگ دشوار است.
چه زمانی استفاده کنید و از اشتراک های مجرای استفاده نکنید
ActiveMQ برای انتقال پیام ها در اطراف شبکه به اطلاعات مربوط به مصرف کنندگان فعال (اشتراک) متکی است. یک کارگزار اشتراک از یک کارگزار از راه دور (شبکه ای) را به همان روشی که می تواند از یک اتصال مشتری محلی باشد ، تفسیر می کند و کپی از هر پیام مربوطه را به هر اشتراک هدایت می کند. با اشتراک موضوعات و با بیش از یک اشتراک از راه دور ، یک کارگزار از راه دور هر نسخه پیام را معتبر تفسیر می کند ، بنابراین وقتی در حال چرخش پیام ها را به اتصالات محلی خود می رساند ، کپی ها اتفاق می افتد. از این رو رفتار مجرای پیش فرض ، تمام اطلاعات مربوط به اشتراک را تثبیت می کند تا از کپی های اطراف شبکه جلوگیری شود. با این رفتار پیش فرض ، اشتراک های N در یک کارگزار از راه دور مانند یک اشتراک واحد به کارگزار شبکه ای است.
با این حال - اشتراک های تکراری یک ویژگی مفید برای بهره برداری است اگر فقط از صف استفاده می کنید. از آنجا که الگوریتم متعادل کننده بار سعی در به اشتراک گذاری بار پیام به طور مساوی خواهد داشت ، مصرف کنندگان در یک شبکه به طور مساوی بار پیام را به اشتراک می گذارند در صورتی که ConduitsUbscriptions = false. یک مثال استفرض کنید شما دو کارگزار ، A و B دارید که از طریق یک پل حمل و نقل به یکدیگر وصل می شوند. متصل به کارگزار A ، شما یک مصرف کننده دارید که در صف به نام q. test مشترک است. متصل به کارگزار B ، شما دو مصرف کننده دارید که در Q. Test نیز مشترک هستند. همه مصرف کنندگان اولویت برابر دارند. سپس یک تهیه کننده را در کارگزار A شروع می کنید که 30 پیام به Q. Test می نویسد. به طور پیش فرض ، (ConduitSubscription = true) ، 15 پیام برای کارگزار A به مصرف کننده ارسال می شود و 15 پیام حاصل از آن برای کارگزار B به دو مصرف کننده ارسال می شود. بار پیام به همان اندازه در هر سه مصرف کننده پخش نشده است زیرا ،به طور پیش فرض ، کارگزار A دو اشتراک را در کارگزار B به عنوان یکی مشاهده می کند. اگر ConduitsubScriptions را به False تنظیم کرده بودید ، به هر یک از سه مصرف کننده 10 پیام داده می شد.
اتصالات شبکه دوبلکس
به طور پیش فرض ، یک پل شبکه پیام ها را در صورت تقاضا در یک جهت از طریق یک اتصال واحد به جلو می برد. هنگامی که duplex = true ، از همان اتصال برای یک پل شبکه در جهت های مخالف استفاده می شود و در نتیجه یک پل دو جهته ایجاد می شود. پیکربندی Bridge Network به کارگزار دیگر پخش می شود تا پل دوبلکس یک ماکت دقیق یا اصلی باشد.
با توجه به دو کارگزار ، کارگزار A و کارگزار B ، یک پل دوبلکس در A تا B همان پل پیش فرض در A تا B و یک پل پیش فرض در B تا A است.
توجه داشته باشید ، اگر می خواهید بیش از یک پل شبکه دوبلکس را بین دو کارگزار پیکربندی کنید ، برای افزایش توان یا مباحث و صف های پارتیشن ، باید برای هر یک نام های منحصر به فرد ارائه دهید:
اشتراک های مجرای و انتخاب کنندگان مصرف کننده
اشتراک های Conduit انتخاب کنندگان مصرف کننده را در کارگزار محلی نادیده می گیرد و تمام پیام ها را به راه دور ارسال می کند. قبل از ارسال پیام به مصرف کنندگان ، انتخاب کنندگان بر روی کارگزاران از راه دور تجزیه می شوند. این مفهوم می تواند با استفاده از انتخاب کننده ها در یک شبکه چند کارگزار ، در استفاده از انتخاب کننده ها مشکلات ایجاد کند. تصور کنید وقتی یک کارگزار تولید کننده پیام های ارسال کننده به دو کارگزار دریافت کننده دارید و هر یک از این دو کارگزار دارای یک مصرف کننده با انتخاب متفاوت هستند. از آنجا که هیچ انتخاب کننده ای در طرف کارگزار تولید کننده ارزیابی نمی شود ، می توانید با تمام پیام هایی که فقط به یکی از کارگزاران می روند ، پایان دهید ، بنابراین پیام هایی با خاصیت خاص مصرف نمی شوند. اگر نیاز به پشتیبانی از این مورد استفاده دارید ، لطفاً ویژگی ConduitSubscription را خاموش کنید.
خطاهای پیکربندی
در صورت غیرفعال بودن ویژگی کارگزار AdvisorySupport ، شبکه ها مطابق آنچه انتظار می رود (آنها نمی توانند به صورت پویا به مصرف کنندگان جدید پاسخ دهند) کار نمی کنند. در صورت غیرفعال بودن AdvisorySupport ، یک شبکه کاملاً پیکربندی شده تنها گزینه است. در بخش زیر اطلاعات بیشتر در مورد آن را بخوانید.
شبکه های کارگزاران و مشاوره
Network of brokers relies heavily on advisory messages, as they are used under the hood to express interest in new consumers on the remote end. By default, when network coector starts it defines one consumer on the following topic ActiveMQ.Advisory.Consumer.>(بیایید برای لحظه ای مقصد موقت را نادیده بگیریم). به این ترتیب ، هنگامی که مصرف کننده به کارگزار از راه دور متصل می شود (یا جدا می شود) ، کارگزار محلی به آن اطلاع داده می شود و آن را به عنوان یکی دیگر از مصرف کنندگان که باید با آن مقابله کند ، رفتار می کند.
این همه خوب و خوب در شبکه ها و محیط های کوچک تعداد کمی از مقصد و مصرف کنندگان است. اما از آنجا که همه چیز شروع به رشد یک مدل پیش فرض می کند (به همه چیز گوش دهید ، همه چیز را به اشتراک بگذارید) به خوبی مقیاس نمی شوند. به همین دلیل روش های زیادی وجود دارد که می توانید برای فیلتر کردن مقصد که بین کارگزاران به اشتراک گذاشته می شود ، استفاده کنید.
شبکه های پویا
بیایید با شبکه های پیکربندی شده پویا شروع کنیم. این بدان معنی است که ما فقط می خواهیم وقتی یک مصرف کننده در آنجا وجود داشته باشد ، به کارگزار از راه دور پیام ارسال کنیم. اگر بخواهیم این رفتار را فقط در مقصد های خاص محدود کنیم ، مانند دینامیکی استفاده خواهیم کرد ، مانند
در نسخه های ActiveMQ قبل از 5. 6 ، کارگزار هنوز از همان فیلتر مشاوره استفاده می کند و علاقه ای به همه مصرف کنندگان در کارگزار از راه دور ابراز می کند. فیلتر واقعی در هنگام ارسال پیام انجام می شود. این راه حل زیر حد مطلوب در شبکه های عظیم است زیرا باعث ایجاد ترافیک و بار زیادی برای کارگزاران می شود. با شروع نسخه 5. 6 ، کارگزار به طور خودکار یک فیلتر مشاوره مناسب ایجاد می کند و فقط به مقصد های پویا شامل می شود. برای مثال ما این خواهد بود "activemq. advisory.consumer. queue. include. test. foo ، activemq. advisory.consumer. topic. include. test. bar". این می تواند به طرز چشمگیری رفتار شبکه را در محیط های پیچیده و پر بار بهبود بخشد.
In older broker versions we can achieve the same thing with a slightly more complicated configuration. The actual advisory filter that controls in which consumers we are interested is defined with the destinationFilter coector property. Its default value is “>"، که به" activemq. advisory.consumer "توافق شده است. پیشوندبنابراین برای دستیابی به همان کار ، ما باید موارد زیر را انجام دهیم:
توجه داشته باشید که مقصد اول پیشوند را ندارد زیرا قبلاً دلالت دارد. تنظیم و نگهداری آن کمی پیچیده تر است ، اما کار خواهد کرد. و اگر از نسخه 5. 6 یا جدیدتر کارگزار استفاده می کنید فقط شامل مقصد مورد نظر با دینامیکی است.
این همچنین توضیح می دهد که چرا شبکه های پویا در صورت خاموش کردن پشتیبانی مشاوره از کارگزاران کار نمی کنند. کارگزاران در این مورد نمی توانند به صورت پویا به مصرف کنندگان جدید پاسخ دهند.
شبکه های استاتیک خالص
اگر می خواهید کارگزار را از هرگونه تأثیر مصرف کنندگان بر روی کارگزار از راه دور محافظت کنید ، یا اگر می خواهید از کارگزاران به عنوان یک پروکسی ساده استفاده کنید و همه پیام ها را به سمت از راه دور منتقل کنید ، مهم نیست که مصرف کنندگان در آنجا وجود داشته باشند یا نه ، شبکه های استاتیکچیزی هستند که باید در نظر بگیرید
پارامتر Staticbridge از نسخه 5. 6 در دسترس است و این بدان معنی است که کارگزار محلی در هیچ مباحث مشاوره ای در مورد کارگزار از راه دور مشترک نخواهد بود ، به این معنی که علاقه ای به مصرف کننده در آنجا ندارد. علاوه بر این ، شما باید لیستی از مقصد را به صورت آماری به صورت آماری اضافه کنید. این همان تأثیر داشتن یک مصرف کننده اضافی در مقصد خواهد بود تا پیام ها به کارگزار از راه دور نیز ارسال شوند. از آنجا که هیچ پارامتر Staticbridge در نسخه های قبلی ActiveMQ وجود ندارد ، می توانید کارگزار را با تنظیم DestinationFilter برای گوش دادن به یک موضوع مشاوره استفاده نشده ، مانند آن ، فریب دهید.
در صورت پیکربندی مانند این ، کارگزار سعی خواهد کرد تا مصرف کنندگان جدید را در ActiveMQ. Advisory.consumer. No_Destination گوش دهد ، که هرگز پیام هایی نخواهد داشت ، بنابراین از اطلاعات مربوط به مصرف کنندگان کارگزار از راه دور محافظت می شود.
شبکه های پویا و مقصد مجازی (جدید برای 5. 13. 0)
همانطور که در بالا توضیح داده شد ، می توان شبکه ای از کارگزاران را پیکربندی کرد که فقط در صورت وجود مصرف کننده در یک مقصد شامل ، پیام هایی را به یک کارگزار از راه دور ارسال کند. با این حال ، بیایید مواردی را در نظر بگیریم که چگونه جریان پویا هنگام استفاده از مقصد مجازی در حال استفاده است.
مصرف کنندگان مقصد مجازی و مقصد کامپوزیت
در اینجا نمونه ای از دو کارگزار که با هم شبکه می شوند آورده شده است. کارگزار محلی حاوی کانکتور شبکه پیکربندی شده با یک پویا به صورت پویا است و کارگزار از راه دور با یک کامپوزیت تنظیم شده است:
کارگزار محلی
کارگزار از راه دور
در این مثال ، بیایید یک مصرف کننده واحد را در کارگزار از راه دور در صف در نظر بگیریم. اگر پیامی به طور مستقیم به کارگزار از راه دور در مورد موضوع ارسال شود ، شامل. bar ، آن را به صف ارسال می شود. با این حال ، اگر پیامی به همان موضوع در مورد کارگزار محلی منتشر شود ، این پیام به کارگزار از راه دور ارسال نمی شود.
این پیام ارسال نمی شود زیرا یک مصرف کننده در صف شامل. Bar. Forward به عنوان بخشی از لیست پویا در کارگزار محلی شناسایی نمی شود. پیام ها به کارگزار از راه دور ارسال نمی شوند ، مگر اینکه یک مصرف کننده در موضوع اصلی نیز وجود داشته باشد (در این مورد شامل. bar). این می تواند با پیکربندی کارگزار محلی برای گوش دادن به اشتراک های مقصد مجازی ثابت شود.
اول ، ما باید کارگزار از راه دور را پیکربندی کنیم تا پیام های مشاوره ای ارسال شود وقتی مصرف کنندگان در مقصدی که با یک مقصد مجازی مطابقت داشته باشد ، مشترک هستند. در این حالت ، یک مسابقه داخلی با استفاده از فیلتر مقصد تعیین می شود که تعیین می کند که آیا یک مقصد به مقصد دیگری می رود یا خیر. برای فعال کردن این امر ، استفاده از ویژگی های استفاده از distualdestsubs را روی کارگزار از راه دور تنظیم کنید:
کارگزار از راه دور
در مرحله بعد ، اتصال شبکه در کارگزار محلی برای گوش دادن به پیام های مشاوره جدید با تنظیم ویژگی useVirtualDestSubs به True:
کارگزار محلی
حال اگر یک مصرف کننده در صف مشترک باشد شامل . bar. forward در کارگزار از راه دور ، کارگزار محلی پیامهایی را که به موضوع ارسال می شود ارسال می کند.
مصرف کنندگان مقصد مجازی در ایجاد مقصد
حال بیایید مورد استفاده را در بالا در نظر بگیریم که همان موضوع کامپوزیت وجود داشته باشد اما هیچ مصرف کننده ای در صف وجود ندارد. کارگزار از راه دور
یک موضوع کامپوزیت در کارگزار از راه دور پیکربندی شده است و کارگزار محلی به آن شبکه می شود.
حتی اگر ما استفاده از VirtualDestsubs را فعال کرده ایم ، پیام ها به کارگزار از راه دور ارسال نمی شوند مگر اینکه مصرف کننده در صف ارسال شده مشترک باشد. بدون مصرف کننده ، پیام ها به هنگام ارسال به موضوعی در مورد کارگزار محلی (شامل. BAR) ارسال می شوند. در این شرایط مطلوب است که پیام های ارسال شده بر اساس وجود یک مقصد مجازی که به پیش می رود ، ارسال شود:
- یک یا چند صف ؛یا
- مباحثی که اشتراک های بادوام دارند.
هر دوی این شرایط به عنوان تقاضای انتشار پیام به کارگزار محلی در نظر گرفته می شوند ، با وجود اینکه هیچ مصرف کننده ای فعال در آن مقصد وجود ندارد.
کارگزار از راه دور
با استفاده از این پیکربندی ، هنگامی که صف شامل. BAR. Forward ایجاد می شود ، یک مشاوره مصرف کننده مقصد مجازی به کارگزار محلی ارسال می شود تا بداند که می تواند پیام های خود را بر اساس وجود موضوع کامپوزیت که به صف منتقل می شود ، ارسال کند.
مصرف کنندگان مقصد کامپوزیت و موضوعات مجازی
مثالهای فوق نحوه پیکربندی یک مقصد کامپوزیت را نشان می دهد اما یک موضوع مجازی نیز کار خواهد کرد. در مثال زیر ، مصرف کننده در صف برای یک موضوع مجازی در مورد کارگزار از راه دور اکنون باعث ایجاد تقاضا می شود و پیام ها از طریق کارگزار محلی از طریق شبکه ارسال می شوند.
استراتژی های مؤثر فارکس...
ما را در سایت استراتژی های مؤثر فارکس دنبال می کنید
برچسب :
نویسنده : توران میرهادی
بازدید : <-PostHit->
تاريخ : چهارشنبه
31 خرداد
1402 ساعت: 11:31