کارگزاران به مجلات خدمت می کنند ، یک منبع شبیه به یک پرونده. مجلات فقط ضمیمه هستند: بایت هایی که قبلاً به یک ژورنال نوشته شده اند تغییر ناپذیر هستند و قابل تغییر نیستند. مانند پرونده ها ، مجلات ممکن است از هر جبران بایت خوانده شوند. خوانندگانی که برای نوشتن در مورد جبران بعدی (به نام سر نوشتن) دستگیر شده اند ممکن است به صورت اختیاری مسدود شده و محتوای آینده را برای آنها پخش کنند. به این ترتیب ، در مورد ژورنال ها شبیه به عملیات Tai l-C $ -F از طریق پرونده های لینوکس است.
بر خلاف پرونده ها ، مجلات غالباً توسط سیستم های توزیع شده دارای نویسندگان همزمان بسیاری نوشته می شوند و یک کارکرد اصلی کارگزار ارائه سفارش جهانی از چگونگی توالی درخواست های ضمیمه در یک ژورنال است. از نظر بسیار مهم ، نویسندگان اطمینان دارند که کل ضمیمه آنها در مجله به هم وصل می شود (تعهد می کند) یا هیچ یک از این موارد را انجام نمی دهند. به طور رسمی ژورنال Appends Serializable است - دهانه های ضمیمه دارای سفارش کلی هستند و هرگز به هم نمی پیوندند. خوانندگان به طور مشابه اطمینان دارند که فقط محتوای مجله متعهد را می خوانند و هرگز ضمیمه جزئی را که بعداً به عقب برگردانده می شود ، نخواهند دید (یعنی ، زیرا یک کارگزار یا مشتری با تقصیر از طریق آن از طریق راه می رود).
خوشه بندی
یک خوشه کارگزار مجموعه ای از فرآیندهای کارگزار Gazette است که به طور جمعی تعادل و ارائه خدمات تحمل گسل در بسیاری از مجلات را فراهم می کند. خوشه ها ممکن است در چندین منطقه ، مناطق جهانی و حتی ابرها مستقر شوند.
یک فرآیند کارگزار جداگانه بدون تابعیت است و هیچ انتظاری و اتکا به تداوم دستگاه میزبان یا دیسک های آن ندارد. کارگزاران فقط از دیسک های میزبان به عنوان فضاهای خراش موقت برای ضبط و ارائه محتوای ژورنال اخیر استفاده می کنند.
دوام در کوتاه مدت با تکرار کلیه ژورنال ها در چندین کارگزار ، که حداقل به دو منطقه در دسترس بودن اختصاص داده شده است ، ارائه می شود. فروشگاه های حباب دوام طولانی مدت را ارائه می دهند.
توصیه می شود که Gazette را به عنوان استقرار Kubeetes کار کنید ، با SSD های محلی به عنوان فضای خراش موقتی به داخل ظرف سوار می شوند. مخزن مانیفست های مربوط به کوستومیز را فراهم می کند.
مجلات واحد مقیاس برای کارگزاران است: هر مجله ADPEND RPC باید از یک کارگزار "اولیه" تعیین شده عبور کند که معامله ضمیمه را هماهنگ می کند ، و همزمان توسط سایر کارگزاران تکرار شونده تصدیق می شود.
در مجموع یک سیستم توزیع شده نمی تواند سریعتر از آنچه کارگزاران می توانند از عهده آن برآیند ، به ژورنال اضافه شود ، مهم نیست که چه کارگزاران دیگری ممکن است در خوشه وجود داشته باشند. مقیاس بیشتر نیاز به تقسیم بندی در چندین مجله دارد.
Gazette برای به حداکثر رساندن توان ژورنال با حداقل تأخیر (به طور معمول یک سفر دور برای ACK) از لوله کشی و استفاده مجدد از معاملات استفاده می کند. تنگنا عملی فشرده سازی محتوای ژورنال است.
مشخصات فنی¶
Gazette برای اجماع در مورد پیکربندی توزیع شده خوشه به ETCD متکی است. فرآیندهای کارگزار تعدادی از مشخصات موجود در ETCD را مدیریت می کنند ، که از طریق پیشوند مشترک ETCD هماهنگ می شوند:
ژورنال ها وجود و پیکربندی یک ژورنال را اعلام می کنند-نام آن ، فاکتور تکثیر مورد نیاز و سایر ابرداده ها و رفتارهای مربوط به کاربر. کارگزاران
هر فرآیند Gazette در حال اجرا ، یک کارگزاران را مدیریت می کند که منطقه شکست ، نقطه پایانی ، ظرفیت ژورنال و غیره را تبلیغ می کند.
Brokerspecs زودگذر است: آنها باید از طریق اجاره نامه و غیره زنده نگه داشته شوند و در خروج فرآیند حذف شوند.
نمایندگی یک مجله به یک کارگزار ، همراه با نقش واگذاری: اولیه یا ماکت. هر ژورنال ممکن است دارای چندین تکلیف باشد.
AssignmentmentsPecs همچنین زودگذر است: هر یک به اجاره کارگزار و غیره مربوط می شود و در خروج کارگزار یا گسل حذف می شود.
کارگزاران برای نظارت مداوم به مشخصات ، حل (مجدد) تکالیف مجلات به کارگزاران و مدیریت مجموعه تکالیف در ETCD هماهنگ می شوند. کارگزاران انفرادی سپس تکالیف را که مسئولیت آن را بر عهده دارند ، تصویب می کنند.
اجاره نامه تنها مکانیسمی است که با استفاده از آن گسل های خوشه ای شناسایی و کاهش می یابد. Gazette مفهومی از مجموعه ماکت در همگام سازی ندارد ، زیرا تسهیلات مجدد بسیار سریع است و نیازی به مهاجرت داده ها ندارد.
با دریافت یک کارگزار یک کارگزار ، تمایل خود را برای خروج از صفر ظرفیت اعلام شده خود در کارگزاران خود اعلام می کند ، و سپس صبر کنید تا:
- همه ژورنال های اختصاص داده شده با لطف تحویل داده می شوند ،
- تمام محتوای ژورنال محلی همچنان ادامه دارد ، و
- همه GRPC ها تخلیه شده اند
در صورت عدم وجود گسلها ، مجلات هرگز تحت تعداد مورد نظر ماکت یا مناطق در دسترس بودن در طی استقرار نورد انحراف نخواهند داشت.
قطعات
قطعات محدوده ژورنال را تعریف می کنند که نوشته شده و اکنون تغییر ناپذیر است. آنها به طور رسمی توسط:
| نام ژورنال: | هر ژورنال یک جریان مشخص است. |
| شروع شروع: | اولین جبران بایت جریان که توسط قطعه ، فراگیر گرفته می شود. |
| انتهای پایان: | آخرین جبران بایت که توسط قطعه ، اختصاصی گرفته شده است. |
| sha-som: | یک مقدار SHA قابل اثبات از محتوای بایت جریان از [شروع کار ، پایان بخش). |
محدودیت تعاریف قطعه ای این است که آنها ممکن است هرگز نوشتن مشتری را تقسیم کنند. به طور متفاوتی ، قطعات فقط حاوی کل مشتری هستند - اگر این موارد از پیام های به درستی محدود تشکیل شود ، این قطعه را نیز انجام می دهد.
این ویژگی به قطعات اجازه می دهد تا به طور مستقیم از طیف گسترده ای از قالب های متن و ضبط باینری - مانند CSV ، JSON LINES ، PROTOBUF - با استفاده از تعیین کننده های طبیعی خود (یعنی Newlines) و بدون استفاده از فرمت فایل سفارشی یا فریم ثبت استفاده کنند.
تکه های تکه تکه
فایلهای قطعه ، با استفاده از یک طرح نامگذاری با محتوا که شامل تعریف قطعه است ، محتوای ژورنال را نگه می دارد. هنگامی که یک قطعه توسط کارگزاران بسته شد ، بلافاصله به یک فروشگاه حباب پیکربندی شده برای ذخیره طولانی مدت به عنوان یک فایل قطعه بارگیری می شود.
کاربران کنترل ریز و درشتی دقیقاً بر نحوه اتفاق برای هر ژورنال دارند: سطل حباب و پیشوند برای استفاده ، فشرده سازی برای اعمال و ابزارهای بیشتر برای تطبیق پرونده ها با طرح های پارتیشن بندی ترجیحی.
با توجه به یک فروشگاه قطعه ای از s3: // my-bucket/پیشوند ، یک ژورنال برخی/رویدادها و فشرده سازی snappy ، یک پرونده قطعه قطعه شده ممکن است s3 باشد: // my-bucket/prefix/00000003b4b-0000014455f-49b43a0783974daee3ff4265b1eee3ff4265b1eee3ff4265b1eeee3ft4265b1eee3f4265b1eeee3974daeeee3974daeeee3974daeee3974daeeee3974daeeeee3974daeeee3974daeeee3974daeeee3974daeeee3974daeeee39783974daeesSZ
شاخص قطعه قطعه
پرونده های قطعه ای به گونه ای نامگذاری شده اند که لیست فروشگاه های حباب شرح کاملی از محتوای موجود برای یک ژورنال ، از جمله قرار دادن نسبی پرونده ها در جریان ژورنال مداوم است.
بنابراین "منبع حقیقت" از محتوای موجود ، خود فروشگاه حباب است. کارگزاران برای حفظ شاخص در حافظه قطعات ذخیره شده یک ژورنال ، لیست های دوره ای را انجام می دهند ، که با قطعات محلی که هنوز در حال ساخت یا ادامه هستند ، ترکیب شده است.
قطعات جدید از لیست های حباب کشف شده و به صورت محلی فهرست بندی می شوند ، و قطعات حذف شده از فروشگاه (یعنی به دلیل سیاست چرخه عمر سطل یا هرس ژورنال های Gazctl) نیز از فهرست محلی پاک می شوند.
از شاخص قطعه برای اولین بار با قرار دادن یک قطعه مناسب برای جبران ژورنال داده شده استفاده می شود. سپس:
- یک قطعه محلی به طور مستقیم به مشتری ارائه می شود ، یا
- کارگزار از طرف مشتری ، یا
- نمایندگان کارگزار با دادن آدرس اینترنتی فروشگاه امضا شده برای دسترسی مستقیم به پرونده.
برچسب ها و انتخاب کنندگان
مجلات واحد مقیاس برای کارگزاران است. آنها تقریباً معادل پارتیشن های موجودیت "موضوع" در سایر سیستم ها مانند کافکا و پالسار هستند. معمول است که مجموعه ای از رویدادهای مشابه را در تعدادی از مجلات پخش کنید که هر یک به عنوان یک پارتیشن از Corpus عمل می کنند.
با این حال Gazette هیچ مفهوم رسمی از یک موضوع ندارد. در حالی که ژورنال ها اغلب دارای مؤلفه های مسیری هستند که سلسله مراتبی را به نوعی بیان می کنند ، مانند org-name/name/name/event-type ، این صرفاً کنوانسیون است. نام ژورنال به عنوان یک فضای کلیدی مسطح درمان می شود.
در عوض Gazette مفهوم Kubeetes از برچسب ها و انتخاب کنندگان را تصویب می کند. مجلات با برچسب هایی که محتوای آنها را توصیف می کنند ، مانند نوع پیام ، منطقه خدمت یا هر چیز دیگری حاشیه نویسی می شوند. انتخاب برچسب ها و ارزش ها دلخواه است و تیم ها می توانند با گذشت زمان معانی خود را تکامل دهند ، اما Gazette برخی از کنوانسیون ها را ارائه می دهد.
از انتخاب کنندگان برای پرس و جو از مجلات از نظر برچسب های خود استفاده می شود و می توان به عنوان ابزاری برای تعریف "مباحث" در یک برنامه خاص ، سابق پست فاکتو فکر کرد. هر مورد استفاده می تواند برای خود تعریف کند که چه ابعادی مورد نظر است - مانند نوع پیام ، منطقه جغرافیایی یا محیط مرحله بندی - و با تهیه یک انتخاب کننده مناسب ، پس از مشاهده مجموعه پارتیشن هایی که اکنون یا در آینده وجود دارد ، اطمینان حاصل کنید.
GRPC و HTTP¶
کارگزاران یک سرویس ژورنال GRPC را برای تعامل با مجلات ارائه می دهند. آنها همچنین یک دروازه HTTP را برای خواندن و پیوستن به مجلات با استفاده از افعال آشنا و قرار می دهند. عملیات Gateway به درخواست های خدمات GRPC معادل عمل می کند.
دروازه HTTP برای ساختن مشتری های ساده یا خواندن مجلات از یک مرورگر وب مفید است ، اما در حجم زیادی در تولید از مشتری GRPC بومی استفاده می شود (مانند مشتری GO).
سایر API های دروازه ممکن است در آینده برای سهولت ادغام با سیستم های پیام رسانی مشترک ارائه شود.
gazctl¶
Gazctl یک رابط قدرتمند خط فرمان برای همکاری با خوشه های کارگزار Gazette و برنامه های مصرف کننده است. از آن استفاده کنید تا:
- پرس و جو ، افزودن ، حذف و به روزرسانی مجلات ارائه شده توسط خوشه.
- کارگزاران یا برنامه های مصرف کننده را بازرسی و مدیریت کنید.
- برنامه های غیر بومی یا خطوط لوله پردازش دسته ای را ادغام کنید.
© کپی رایت 2020 ، نویسندگان Gazette Revision 14B5D1E9.
ساخته شده با ابوالهول با استفاده از موضوعی که توسط Docs Read ارائه شده است. Docs V را بخوانید: آخرین
نسخه های جدیدترین بارگیری های پایدار در خواندن Docs Project Home میزبانی اسناد رایگان تهیه شده توسط Read The Docs.
کسب درآمد از بیت کوین...
ما را در سایت کسب درآمد از بیت کوین دنبال می کنید
برچسب :
نویسنده : ماهور الوند
بازدید : <-PostHit->
تاريخ : چهارشنبه
15 شهريور
1402 ساعت: 6:01