تحویل پیام قابل اعتماد
تحویل پیام در دو هاپ رخ می دهد: هاپ اول پیام را از تولید کننده به یک مقصد فیزیکی در کارگزار می برد. در نتیجه, یک پیام را می توان در یکی از سه راه از دست داده: در هاپ خود را از تولید کننده به کارگزار, در هاپ خود را از کارگزار به مصرف کننده, و در حالی که در حافظه بروکر (اگر کارگزار نتواند). تحویل قابل اعتماد تضمین می کند که تحویل در هیچ یک از این روش ها شکست نخواهد خورد.
دو مکانیزم برای اطمینان از تحویل قابل اعتماد استفاده می شود:
مشتری می تواند از تقدیرنامه ها یا معاملات برای اطمینان از موفقیت تولید و مصرف پیام استفاده کند.
کارگزار می تواند پیام ها را در یک فروشگاه داده مداوم ذخیره کند تا اگر کارگزار قبل از مصرف پیام شکست بخورد, کارگزار, پس از بازیابی, می تواند نسخه ذخیره شده پیام را بازیابی کند و عملیات را دوباره امتحان کند.
بخش های زیر این دو جنبه اطمینان از قابلیت اطمینان را توصیف می کنند.
توجه-تحویل قابل اعتماد فقط برای پیام هایی اعمال می شود کهدانلود کاتالوگفیلد هدر پیام یک پیام مداوم را نشان می دهد.
تقدیرنامه ها
تقدیرنامه ها پیام هایی هستند که بین مشتری و سرویس پیام ارسال می شوند تا از تحویل قابل اعتماد پیام ها اطمینان حاصل شود. تقدیرنامه ها برای تولیدکنندگان و مصرف کنندگان متفاوت استفاده می شود.
در مورد تولید پیام, کارگزار تایید می کند که پیام را دریافت کرده و در مقصد قرار داده و به طور مداوم ذخیره کرده است. تولید کننده هاارسال()بلوک روش تا زمانی که این اذعان کارگزار دریافت. اذعان کارگزار شفاف به مشتری هستند که پیام های مداوم فرستاده می شوند.
در مورد مصرف پیام, مشتری تصدیق می کند که پیامی را از مقصد دریافت کرده و مصرف کرده است, قبل از اینکه کارگزار بتواند پیام را از مقصد حذف کند. مدل های مختلف تایید مشتری را مشخص می کند که نشان دهنده درجه های مختلف قابلیت اطمینان است.
در_قبول خودکارحالت, جلسه به طور خودکار اذعان هر پیام مصرف شده توسط مشتری. موضوع جلسه بلوک می کند و منتظر می ماند تا کارگزار تایید کند که تصدیق مشتری را برای هر پیام مصرف شده پردازش کرده است.
درمشتریانحالت, مشتری به صراحت اذعان پس از یک یا چند پیام با فراخوانی مصرف شده استتصدیق()روش یک شی پیام. این باعث می شود که جلسه تمام پیام هایی را که از زمان فراخوانی قبلی روش توسط جلسه مصرف شده اند تصدیق کند. موضوع جلسه بلوک می کند و منتظر می ماند تا کارگزار تایید کند که تصدیق مشتری را پردازش کرده است.
صف پیام این حالت را با تهیه روشی گسترش می دهد که به مشتری اجازه می دهد فقط دریافت یک پیام را تصدیق کند.
داخلدانستنی هاحالت, جلسه اذعان پس از تعداد مشخصی از پیام های (به طور پیش فرض است 10) مصرف شده است. موضوع جلسه را مسدود نمی کند انتظار برای کارگزار برای تایید این پردازش اذعان مشتری, چرا که هیچ تایید کارگزار در این حالت مورد نیاز است. اگر چه این حالت تضمین می کند که هیچ پیام از دست خواهد رفت, تضمین نمی کند که هیچ پیام های تکراری دریافت خواهد شد, از این رو نام خود را:دوپس_وک.
برای مشتریانی که بیش از قابلیت اطمینان به عملکرد اهمیت می دهند سرویس صف پیام با فراهم کردن الف گسترش می یابدبدون _دانستنحالت. بنابراین هیچ تضمینی وجود ندارد که یک پیام با موفقیت توسط مشتری مصرف پردازش شده است در این حالت کارگزار نه اذعان مشتری پیگیری. انتخاب این حالت ممکن است به شما عملکرد بهتر برای پیام های غیر مداوم است که به مشترکین غیر با دوام ارسال می دهد.
معاملات
معامله روشی برای گروه بندی تولید و / یا مصرف یک یا چند پیام در یک واحد اتمی است. فرایند تصدیق مشتری و کارگزار که در بالا توضیح داده شد نیز برای معاملات اعمال می شود. در این مورد, با این حال, وقتی یک معامله مرتکب می شود, به طور ضمنی کارگزار یا مشتری مربوطه را انجام می دهد تقدیرنامه ها. شما نمی توانید یک معامله پایان به پایان داشته باشید که شامل تولید و مصرف یک پیام باشد.
مشخصات جی ام اس از معاملات محلی و توزیع شده پشتیبانی می کند که در زیر توضیح داده شده است.
معاملات محلی
یک جلسه را می توان به صورت تراکنش پیکربندی کرد و این روش ها را برای شروع یا انجام معاملات محلی فراهم می کند.
به عنوان پیام های تولید شده و یا مصرف شده در یک معامله محلی, سرویس پیام های مختلف می فرستد و دریافت, تکمیل این عملیات تنها زمانی که مشتری یک تماس برای ارتکاب معامله. اگر یک خاص ارسال و یا دریافت عملیات در معامله با شکست مواجه, یک استثنا مطرح شده است. کد مشتری می تواند استثنا را با نادیده گرفتن عملیات یا بازگرداندن کل معامله مدیریت کند. هنگامی که یک معامله متعهد است, تمام عملیات خود را در حال اتمام. هنگامی که یک معامله نورد تماس, تمام عملیات موفق لغو می شوند.
دامنه یک معامله محلی همیشه یک جلسه واحد است. یعنی یک یا چند عملیات تولید کننده یا مصرف کننده که در متن یک جلسه انجام می شود را می توان در یک معامله محلی واحد گروه بندی کرد.
معاملات توزیع شده
مشخصات جی ام اس همچنین از معاملات توزیع شده پشتیبانی می کند. یعنی تولید و مصرف پیام ها می تواند بخشی از یک معامله بزرگتر و توزیع شده باشد که شامل عملیات مربوط به سایر مدیران منابع مانند سیستم های پایگاه داده است. یک مدیر معامله توزیع, مانند یک عرضه شده توسط سرور ماهی شیشه ای, باید در دسترس برای حمایت از معاملات توزیع شود.
در معاملات توزیع شده مدیر تراکنش توزیع شده عملیات انجام شده توسط چندین مدیر منابع (مانند سرویس پیام و مدیر پایگاه داده) را با استفاده از یک پروتکل تعهد دو فاز تعریف شده در تراکنش جاوا پیگیری و مدیریت میکند. در دنیای جاوا تعامل بین مدیران منابع و یک مدیر تراکنش توزیع شده در مشخصات جی تی ای توضیح داده شده است.
پشتیبانی از معاملات توزیع شده به این معنی است که مشتریان پیام رسانی می توانند از طریق معاملات توزیع شده شرکت کنندمنبعرابط تعریف شده توسط جی تی ای. این رابط تعدادی از روشهای مورد استفاده در اجرای تعهد دو فاز را تعریف می کند. در حالی که تماس ها از طرف سرویس گیرنده انجام می شود, سرویس پیام ارسال و دریافت های مختلف را در تراکنش توزیع شده ردیابی می کند, حالت تراکنش را ردیابی می کند, و عملیات پیام رسانی را فقط با هماهنگی یک مدیر تراکنش توزیع شده—که توسط یک سرویس تراکنش جاوا تهیه شده است انجام می دهد. همانطور که با معاملات محلی, مشتری می تواند استثنا با نادیده گرفتن رسیدگی, سعی مجدد عملیات, و یا نورد تماس کل معامله توزیع.
تبصره-پیام صف پشتیبانی از معاملات توزیع شده تنها زمانی که به عنوان یک سرویس دهنده جاوا سازمانی در یک سرور برنامه جاوا استفاده می شود. برای کسب اطلاعات بیشتر در مورد نحوه استفاده از معاملات توزیع شده لطفا با مستندات جاوا ای مبله شده توسط اپلیکیشن سرور خود مشورت کنید.
ذخیره سازی مداوم
جنبه دیگر قابلیت اطمینان این است که کارگزار پیام های مداوم را قبل از تحویل به مصرف کنندگان از دست نمی دهد. این بدان معنی است که هنگامی که یک پیام به مقصد فیزیکی خود می رسد, کارگزار باید این را در یک فروشگاه داده مداوم قرار دهد . اگر کارگزار به هر دلیلی شکست بخورد می تواند پیام را بعدا بازیابی کرده و به مصرف کنندگان مناسب تحویل دهد.
کارگزار همچنین باید به طور مداوم اشتراک های بادوام را ذخیره کند. در غیر این صورت در صورت خرابی قادر به ارسال پیام به مشترکین بادوام نخواهد بود که پس از رسیدن پیام به مقصد موضوعی فعال می شوند.
برنامه های پیام رسانی که می خواهند تحویل پیام را تضمین کنند باید پیام ها را به عنوان مداوم مشخص کرده و یا به مقصد موضوعی با مشترکین بادوام یا به مقصد صف تحویل دهند.
فصل 3, کارگزار پیام صف فروشگاه پیام به طور پیش فرض عرضه شده توسط سرویس پیام صف و چگونه یک مدیر می تواند راه اندازی و پیکربندی یک فروشگاه جایگزین توصیف.