ساخت یک پلتفرم جدید برای مشتریان Redis.
Redis که در سال 2009 به عنوان یک فروشگاه تک سرور برای کمک به طراحی وب سرور ایجاد شد، گزینه های مفید متعددی را برای سازماندهی و بازیابی داده های ذخیره شده، از جمله مجموعه ها، لیست ها، و مجموعه های مرتب شده در اختیار برنامه های کاربردی قرار می دهد.
چند سال بعد، پشتیبانی خوشهای را برای مقیاسبندی توان و افزودن تکرار دادهها برای دسترسی بالا اضافه کرد. با این حال، پیادهسازی خوشهای (Redis) مفاهیمی تخصصی مانند (hashslots) و (master/replica shards) را معرفی کرد که مدیران سیستم باید آنها را درک و مدیریت کنند. همراه با استفاده Redis از سازگاری نهایی و نه کامل، این مفاهیم پیچیدگی ایجاد کرده اند که مدیریت خوشه را چالش برانگیزتر می کند و در عین حال انعطاف و قابلیت اطمینان را کاهش می دهد.
در مقابل، (ScaleOut StateServer)®، یک کش توزیع شده متمرکز بر سازمان برای اشیاء سریالی که اولین بار در سال 2005 منتشر شد، از ابتدا برای اجرا بر روی یک خوشه سرور با اهداف طراحی خاص، کارایی بالا و ذخیره داده قابل اعتماد طراحی شد و در عین حال سهولت استفاده را به حداکثر رساند.
تعادل بار، تکثیر داده ها و بازیابی را خودکار می کند و داده ها را با سازگاری کامل (یعنی سازگاری متوالی) در بین کپی ها ذخیره می کند. همچنین درخواست های مشتری را با استفاده از تمام هسته های پردازشی موجود برای حداکثر توان اجرا می کند. این ویژگی ها به طور چشمگیری مدیریت خوشه را ساده می کند، انعطاف پذیری را بهبود می بخشد و TCO را کاهش می دهد، به ویژه برای کاربران سازمانی. به عنوان مثال، بر خلاف (Redis)، خوشه های سرور (ScaleOut) می توانند به طور یکپارچه از یک سرور واحد به چندین سرور رشد کنند و مدیران سیستم نیازی به مدیریت هش اسلات ها یا خرده های اصلی/مثنی ندارند.
چالش: ادغام پردازش فرمان (Redis) در یک معماری خوشهبندی جدید
نرمافزار (ScaleOut) تشخیص داد که اجرای دستورات (Redis) بر روی یک خوشه (ScaleOut StateServer) بهترینهای هر دو جهان را به کاربران (Redis) ارائه میدهد: ساختارهای داده آشنا و غنی همراه با مدیریت خوشهای بسیار سادهتر و سازگاری کامل دادهها.
با این حال، پیادهسازی ایدهآل باید از کد منبع باز (Redis) واقعی برای اجرای دستورات (Redis) استفاده کند تا دستورات کلاینت مانند خوشههای (Redis) با منبع باز رفتار کنند. سپس چالش ادغام کد (Redis) در پلتفرم اجرای (ScaleOut StateServer) و استفاده از ویژگیهای خوشهبندی خودکار آن و حذف محدودیتهای تک رشتهای معماری حلقه رویداد (Redis) بود.
این شرکت اخیراً این یکپارچهسازی را انجام داده و در (ScaleOut StateServer) نسخه 5.11، پیشنمایش جامعهای را منتشر کرده است که پشتیبانی از محبوبترین ساختارهای داده Redis (رشتهها، مجموعهها، فهرستها، هشها و مجموعههای مرتبشده) بهعلاوه دستورات انتشار/اشتراک، تراکنشها و دستورات ابزار مختلف (مانند FLUSHDB و EXPIRE) در ویندوز و لینوکس. از کد منبع باز (Redis) نسخه 6.2.5 در سرورها برای پردازش دستورات (Redis) استفاده می کند.
((عملیات خوشه خودکار، توان عملیاتی مقیاس پذیر و سازگاری کامل داده ها))
با این ادغام، مشتریان (Redis) می توانند با استفاده از پروتکل استاندارد Redis RESP به یک خوشه(ScaleOut StateServer) از یک یا چند سرور متصل شوند. کتابخانه های کلاینت (Redis) با فراخوانی داخلی دستورات (CLUSTER SLOTS) یا CLUSTER NODES و سپس هدایت درخواست های دسترسی (Redis) به سرور (ScaleOut) مناسب، نقشه هش اسلات ها را به سرورها به دست می آورند. هنگامی که عضویت کلاستر تغییر می کند، مشتریان (Redis) به طور خودکار از پروتکل(RESP ) برای هدایت دستورات به سرورهای صحیح استفاده می کنند.
برای به حداکثر رساندن توان عملیاتی، هر سرور (ScaleOut) دستورات (Redis) ورودی را در چندین رشته با استفاده از تمام هستههای پردازنده موجود پردازش میکند. نیازی به استقرار چند مورد بر روی هر سرور برای مقیاسبندی عملکرد یا ارائه تکثیر دادهها نیست. این توابع در یک فرآیند در هر سرور پیاده سازی می شوند.
با افزایش نیاز به توان عملیات اضافی، مدیران سیستم به سادگی می توانند سرورهای جدید را به خوشه ملحق کنند.ScaleOut StateServer به طور خودکار با اضافه شدن یا حذف سرورها، هشلاتها را در کلاستر دوباره متعادل میکند. همچنین اجرای دستورات Redis را در حین تعادل بار و بازیابی به تأخیر می اندازد تا تصویر ثابتی از قرار دادن هش اسلات حفظ شود و از استثناهای مشتری جلوگیری شود. پس از اینکه یک هشلات به طور کامل به یک سرور راه دور منتقل شد، درخواستهای کلاینت نشانگر -MOVED را برمیگرداند تا بتوان آنها را به سرور جدید هدایت کند.
علاوه بر این، (ScaleOut StateServer) به طور خودکار برای همه هشلاتها کپی ایجاد میکند. نیازی به ایجاد دستی خردههای اولیه و ماکت یا انتقال آنها از سروری به سرور دیگر در طول تغییرات عضویت و بازیابی نیست. ScaleOut StateServer به طور خودکار هشلاتهای مشابه را روی سرورهای مختلف از هشلاتهای اصلی مربوطه قرار میدهد و در صورت لزوم در طول تغییرات عضویت برای اطمینان از تعادل بار بهینه آنها را مهاجرت میکند. اگر سروری از کار بیفتد یا شبکه قطع شود، ScaleOut StateServer با ارتقای کپیها به (Primaries) و ایجاد کپیهای جدید در صورت لزوم، «خود بهبود مییابد».
Redis از یک مدل سازگاری نهایی برای بهروزرسانی کپیها استفاده میکند. اگرچه این مدل سریع است، اما در صورت خرابی سرور یا قطع شدن شبکه، مستعد ارائه داده های قدیمی به مشتریان است. برای جلوگیری از این مشکل، ScaleOut StateServer با استفاده از یک الگوریتم حد نصاب ثبت شده، بهروزرسانیهای کاملاً سازگار را برای اشیاء ذخیرهشده پیادهسازی میکند. هنگامی که یک سرور یک فرمان (Redis)را دریافت می کند، اجرای دستور را در حد نصابی که حاوی هش اسلات اولیه و کپی های آن است، قبل از بازگشت به مشتری کامل می کند.
جمع بندی : قابلیت های جدید برای کاربران (REDIS)
ادغام نوآورانه نرم افزار (ScaleOut) از کد منبع باز (Redis) در معماری خوشه ای، قابلیت های جدید قدرتمندی را برای کاربران Redis به ارمغان می آورد و در عین حال از رفتار (Native-Redis) برای برنامه های مشتری اطمینان می دهد. کاربران سازمانی اکنون راه سادهتری برای مدیریت خوشههای (Redis) با مدیریت خودکار خوشه و مقیاس دهی داخلی دارند و از بهروزرسانیهای کاملاً سازگار دادههای ذخیرهشده که توسط دستورات Redis انجام میشود بهره میبرند. آنها همچنین میتوانند به APIهای بومی (ScaleOut StateServer) دسترسی پیدا کنند، که ویژگیهای پیشرفتهای را که در خوشههای منبع باز (Redis) در دسترس نیست، شامل محاسبات موازی داده، تجزیه و تحلیل جریان، و تکثیر دادههای منسجم و منطقه وسیع را شامل میشوند.
قوانین ارسال دیدگاه در سایت