Artemis Studio چیست
کنسولی که همراه Apache ActiveMQ Artemis میآید هر بار یک بروکر را مدیریت میکند و اصلاً نمیداند کلاستری در کار است. تا وقتی پرسش شما از مرز یک نود عبور نکند مشکلی نیست — اما پرسشهای واقعاً مهم همیشه عبور میکنند: کدام نود live است، عمق کجاست، و آن پیام کجا رفت.
Artemis Studio چیز دیگری است: یک نمونه، روی چندین کلاستر، با کلاستر بهعنوان واحد همهچیز.
روی بروکرهای موجود شما کار میکند. جز فعالکردن endpointهای مدیریتی که تقریباً حتماً همین حالا هم دارید نیازی به بازنویسی broker.xml نیست، و هیچچیز در اینجا بروکری را بالا نمیآورد.
چه میکند
| توپولوژی | جفتهای live/backup، وضعیت replication و گروهبندی بر اساس NodeID مشترک، روی یک بوم. نقش HA در هر چرخه از هر نود poll میشود — هرگز از پیکربندی استنتاج نمیشود. دو نود live در یک جفت، یک هشدار بحرانی split-brain است. |
| منابع در همهٔ نودها | صفها، آدرسها، مصرفکنندهها، نشستها، اتصالها و تولیدکنندهها در سراسر نودها، در یک جدول مجازیسازیشده، منتسب به هر نود، با بهروزرسانی روی SSE. |
| عملیات پیام | مرور، ارسال، انتقال، retry، انقضا، حذف و purge — همراه با dry run که تعداد متأثرشده را بدون انجام کار برمیگرداند، سقف انبوهِ اعمالشده در سمت سرور، و گزارش نتیجه به تفکیک نود. |
| کنسول SQL | یک گویش SQL محدود و فقطخواندنی روی پیامهای یک کلاستر، شامل بدنهٔ پیام، با یک ایندکس اختیاریِ محدود به دورهٔ نگهداری و یک tail زنده. |
| ردیابی request-reply | تناظر درخواستها با پاسخهایشان در سراسر آدرسها و نودها، همراه با آمار تأخیر و timeout در برابر انتظاراتی که اعلام میکنید. |
| سنجهها و هشدارها | سریهای عمق، توان عملیاتی و مصرفکننده در Postgres پارتیشنبندیشده، همراه با نمودار و قواعدی که بر پایهٔ همان اندازهگیریها فعال میشوند. |
| حاکمیت | احراز هویت روی همهٔ endpointها، مدل پویای نقش/مجوز در دامنههای global ← environment ← cluster، توکنهای API، OIDC/SSO اختیاری، و یک رویداد ممیزی برای هر فراخوانی تغییردهنده. |
| سرور MCP | همان قابلیتها در اختیار یک دستیار، زیر همان مجوزها و همان مسیر ممیزی. |
چهار قاعدهای که بر آنها ساخته شده
اینها آرمان نیستند؛ محدودیتهایی هستند که کد به آنها پایبند است.
ذاتاً مهربان با بروکر. خواندنها دستهایاند — یک POST جولوکیا برای هر نود، هرگز یکی برای هر صف — و بر اساس سرعت واقعی تغییرِ هر چیز لایهبندی شدهاند، پشت یک محدودکنندهٔ نرخ بهازای هر نود. Studio هرگز نباید دلیل از پا درآمدن یک بروکر باشد.
امن بهصورت پیشفرض. هر عملیات مخرب ?dryRun=true میپذیرد و تعداد متأثرشده را بدون انجام کار برمیگرداند. purge و delete نیازمند تایپکردن نام خودِ منبع در کادر تأیید هستند. رویداد ممیزی در همان تراکنشِ فرمان و پیش از فراخوانی بروکر نوشته و سپس با نتیجه بهروزرسانی میشود — پس یک crash در میانهٔ کار، رد پایی از تلاش انجامشده باقی میگذارد.
هرگز برای وضعیت HA به پیکربندی اعتماد نکن. اینکه چه کسی live است، پرسشی است که در هر poll از خود نودهای زنده پرسیده میشود.
گیتکردن صادقانهٔ قابلیتها. وقتی قابلیتی در دسترس نیست چون اتصال از آن پشتیبانی نمیکند، رابط کاربری همین را میگوید و دقیقاً همان قطعهٔ broker.xml را که آن را فعال میکند نشان میدهد. هیچچیز بیصدا غایب نمیشود؛ و قابلیتی که هنوز احراز نشده، کنترل را فعال نگه میدارد و عدمقطعیت را اعلام میکند — نبودِ شواهد، شاهدِ نبودن نیست.
عمداً چه نیست
- نصبکننده یا پیکربند بروکر نیست. بروکرهایی را که خودتان اجرا میکنید مدیریت میکند.
- کلاینت صف پیام نیست. کنسول SQL فقط
SELECTاست و tail زنده یک poll است نه یک consume؛ هیچکدام نمیتوانند چیزی را تغییر دهند. - JMX نیست. انتقال اصلی Jolokia روی HTTP است و کلاینت Core آرتمیس کانال دوم، برای اعلانها و ورودی/خروجی وفادارانهٔ پیام.
تصاویر
| توپولوژی کلاستر | صفها در همهٔ نودها |
|---|---|
![]() | ![]() |
| سنجهها و نمودارها | حاکمیت |
![]() | ![]() |
ادامه
- شروع سریع — حدود یک دقیقه تا اجرا
- پیکربندی — محیطی که لازم دارد
- معماری و سوابق تصمیمها (انگلیسی)



