آموزش هوش تجاری از ۰ تا ۱۰۰

۱۸ مطلب در آذر ۱۴۰۱ ثبت شده است

  • ۰
  • ۰

ارز دیجیتال یا رمزارز دنیای این روزها را دچار دگرگونی و تغییرات اساسی کرده است. با وجود تورم، دیگر به پول کاغذی (فیات) اعتمادی نیست و با چاپ بی‌اندازه، هر روز به مرگ ارزهای فیات نزدیک‌تر می‌شویم. با انقلاب بیت کوین و در پی آن ارزهای دیجیتال، باید خود را برای جایگزینی ارزهای دیجیتال به جای پول های امروزی آماده کنیم.

ارز دیجیتال یا کریپتوکارنسی در واقع پول دیجیتال است که بر روی یک بلاکچین وجود دارد. بلاکچین جایی است که هر تراکنش توسط رایانه ها یا گره هایی که از ارز دیجیتال استفاده می‌کنند، تایید و ایمن میشود. مفهوم رمزارز برای اولین بار در سال ۱۹۹۸ توسط وی دای مطرح شد که در مورد شکل جدیدی از پول و استفاده از رمزنگاری برای معامله، به جای پول کاغذی، صحبت کرد.

 

رمزارز چیست؟
رمز ارز، شکل دیجیتالی ارز است که از رمزنگاری برای ایمن سازی فرآیندهای مربوط به تولید واحدها، انجام معاملات و تائید مبادله مالکیت ارز استفاده میکند. ارزهای کاغذی به عنوان ارز “فیات” شناخته میشوند که توسط یک نهاد دولتی تنظیم و تولید می‌شود. برای مثال، دلار آمریکا یا پوند انگلستان ارز فیات هستند.

در مقابل، ارز دیجیتال توسط هیچ مقام دولتی، تولید و چاپ نمی‌شود. معمولا توسط یک مرجع واحد مدیریت نمی‌شود، بلکه در یک رویکرد دسته جمعی یا اجماع توزیع شده کار میکند.

رمزارز از ترکیب دو کلمه «رمزنگاری» و «ارز» ساخته شده است. در قلب همه ارزهای دیجیتال یک الگوریتم رمزنگاری با رمزگذاری پیچیده است. ارز دیجیتال با حل بخشی از یک الگوریتم هش رمزنگاری در یک زنجیره طولانی ایجاد می‌شود.

یک واحد فیزیکی مثل یک سکه یا یک دلار نیست، بلکه یک محاسبات ریاضی است. یک دفتر کل غیرمتمرکز و توزیع شده (بلاکچین) تمامی تراکنش‌های ارز دیجیتال را در سراسر جهان نظارت می‌کند.

 

کریپتوکارنسی چیست؟
رمزنگاری یا کریپتوکارنسی یک سیستم پرداخت دیجیتال است. این سیستم برای انجام و تائید تراکنش، هیچ نیازی به بانک ندارد. در واقع این یک سیستم همتا به همتا است که به هر کسی، در هر مکانی امکان ارسال و دریافت وجه را میدهد.

به جای جابه جایی فیزیکی پول، داده‌ها به یک پایگاه داده آنلاین داده میشود. وقتی ارز دیجیتالی را انتقال میدهید، تراکنش در یک دفتر کل ثبت میشود. همچنین برای نگهداری ارزهای دیجیتال باید از کیف پول های دیجیتال استفاده کنید.

علت نام‌گذاری کریپتوکارنسی این است که ارزهای دیجیتال از رمزگذاری برای تائید تراکنش‌ها استفاده میکنند. این یعنی کدنویسی پیشرفته در ذخیره‌سازی و انتقال داده های ارزهای دیجیتال بین کیف پول‌ها و به دفتر کل عمومی نقش به سزایی دارد.

هدف از رمزگذاری ایجاد امنیت و ایمنی بیشتر است. اولین ارز رمزنگاری شده بیت کوین است که در سال ۲۰۰۹ راه‌اندازی شد و تا به امروز شناخته شده‌ترین ارز دیجیتال است.

 

ارز دیجیتال
 

انواع ارز دیجیتال
ارز دیجیتال نیز همانند ارزهای فیات که انواع مختلفی دارند، از مدل های مختلفی ساخته شده است. در حالی که بیت کوین اولین و شناخته‌شده ترین ارز دیجیتال است؛ اما ارزهای دیجیتال دیگری نیز در طول سال ها ظهور کرده‌اند. مثل اتریوم و دوج کوین که در سطح اینترنت بسیار محبوب هستند. ارزهای دیجیتال به دسته بندی های مختلفی تقسیم میشوند.

دسته استیبل کوین ها برای تبدیل ارزهای دیجیتال به دلار و یا خرید ارز دیجیتال با دلار کاربرد دارند. از این دسته کوین‌ها به دلیل ماهیت برابری با ارزش دلار می‌توان برای معاملات خود استفاده کرد. از استیبل‌کوین‌های مهم باید به USDT – USDC – DAI و BUSD اشاره نمود.

ارزهای صرافی دسته‌ای از ارزها هستند که با استفاده از آن‌ها می‌توانید در صرافی با تخفیف کارمزد معاملات خود را انجام دهید. در این دسته چند ارز مطرح وجود دارد که برای صرافی‌های متمرکز و غیرمتمرکز است. مثل: BNB – LEO – CRO – DYDX

توکن‌های DeFi، NFT، ورزشی، متاورسی، میم و… نیز وجود دارد. این دسته‌بندی‌ها بر اساس شاخص‌های مختلفی مثل فرمول یا کد، کاربرد یا مورد استفاده، و عملکرد آن ارز دیجیتال تقسیم می‌شوند.

 

میم‌کوین چیست؟
دسته بسیار معروف و پر طرفدار میم کوین‌ها ارزهایی هستند که در گذشته به عنوان شت کوین شناخته می‌شدند، اما الان در دسته میم کوین‌ها قرار می‌گیرند. این دسته از ارزهای دیجیتال قابلیت همه‌گیری بین کامونیتی ارزهای دیجیتال را دارند.

همان طور که طی سال های اخیر دو ارز مطرح این دسته بندی، یعنی شیبا و دوج کوین با اقبال عمومی مواجه شدند.

اگر با میم کوین ها آشنایی ندارید میتوانید مقاله “میم کوین چیست؟” را مطالعه فرمائید.
 

شت کوین چیست؟
اما شت کوین در واقع ارزهای دیجیتالی هستند که ماهیتی ندارند و به مرور زمان یا از بین رفته و یا ارزش خود را از دست داده‌اند. این دسته کوین ها راه خود را از میم کوین ها جدا کرده و در سراشیبی سقوط هستند.

برای مطالعه بیشتر درباره شت کوین ها میتوانید از مقاله “شت کوین چیست؟” استفاده کنید.
 

مزایا و معایب ارزهای دیجیتال
ارزهای دیجیتال مثل هر دارایی دیگری از مزایا و معایب خاص خود پیروی می‌کنند. در ادامه این مقاله به مزایا و معایب ارزهای دیجیتال می‌پردازیم:

 

مزایای ارز دیجیتال چیست؟
ارزهای دیجیتال را می‌توان بدون بانک، کارگزار یا دولت بخرید و بفروشید. آن‌ها این امکان را دارا هستند که کارمزدها را دور بزنید و حریم خصوصی بیشتری داشته باشید. قیمت بیت‌کوین سر به فلک کشیده است و برخی از سرمایه‌گذاران معتقدند که بیت‌کوین مثل طلا به یک عنصر ثابت در سرمایه‌گذاری تبدیل خواهد شد.

مهم‌ترین مزیت ارزهای دیجیتال این است که دولت‌ها و حکومت‌ها نقشی در تولید آن ندارند. بنابراین آن‌ها را نمی‌توان بیش از حد چاپ کرد و با چاپ بیش از حد عاملی برای تورم شد.

معایب ارز دیجیتال چیست؟
ارزهای دیجیتال نوعی سرمایه‌گذاری سوداگرانه است و دارای نوسانات شدید قیمت است که همیشه با ریسک زیادی همراه است.

فقدان مقررات توسط یک مقام مرکزی، آینده کریپتو را بسیار نامشخص کرده است. چین و روسیه ارزهای دیجیتال را ممنوع کردند؛ احتمال ممنوعیت در آمریکا وجود دارد. اما در نهایت ارزهای دیجیتال در حال رشد هستند و این ممنوعیت‌ها می‌تواند به پایان برسد و باعث همه گیری آن‌ها شود.

برای نگهداری ارز دیجیتال، باید به یک کیف پول اعتماد کنید. کیف پول‌ها با خطراتی مثل فراموش کردن رمز عبور مواجه هستند. حتی خطر هک شدن در انواع کیف پول ها وجود دارد.

 

ارزدیجیتال
 

بلاکچین چیست؟
بلاکچین فناوری زیربنایی است که برای ایجاد ارزهای دیجیتال استفاده می‌شود. پول سنتی توسط دولت‌ها چاپ و توسط بانک‌ها مدیریت میشوند. ارز دیجیتال بدون دخالت این عوامل ایجاد می‌شوند.

آنها به جای تکیه بر سیستم حسابداری یک بانک خاص، این اطلاعات را در بلاکچین یا «دفتر کل توزیع‌شده» ذخیره می‌کنند. این دفتر کل، تمام مانده حساب‌ها و تراکنش‌های یک ارز دیجیتال خاص را ثبت می‌کند. در حالی که دفتر کل عمومی است، و تقلب کردن سیستم را با ایجاد مخفیانه سکه‌های جدید برای هر کسی دشوار می‌کند.

هنگامی که تراکنش‌های جدید اتفاق می‌افتد، گره‌هایی که سیستم را نظارت می‌کنند، برای تائید، ثبت و اطلاعات را در یک ورودی دفتر جدید به نام «بلاک» ذخیره می کنند. به هر بلوک یک شناسه منحصر به فرد داده می‌شود که به آن هش می‌گویند. بلوک‌های جدید در فواصل زمانی معین به زنجیره بلوک‌های گذشته اضافه می‌شوند.

هر شخص یک کلید عمومی و خصوصی دریافت می‌کند. کلید عمومی آدرسی است که آن را برای دریافت ارز دیجیتال با دیگران اشتراک گذاشته می‌شود. کلید خصوصی فقط برای شما است و برای اثبات این‌که شما صاحب ارز دیجیتال هستید به کار می‌رود.

مقاله بلاکچین چیست و چگونه کار میکند را بخوانید.
 

اثبات کار چیست؟
اثبات کار در واقع راهی برای اضافه کردن تراکنش‌های جدید به بلاکچین برای ایجاد توکن است. بیت‌کوین از این الگوریتم استفاده می‌کند. در واقع رایانه‌های متصل به شبکه (گره‌ها) با حل مسائل پیچیده ریاضی رمزنگاری، تراکنش ها را تأیید و ثبت می کنند.

  • sahar saha sql
  • ۰
  • ۰

لیرغم اینکه ارز دیجیتال در دنیای مالی و دیجیتال نامی برای خود دست و پا کرده است، اما هنوز نتوانسته بازارهای مالی را به طور کامل تصاحب کند. با این حال، برای بسیاری، هم مصرف کنندگان و هم صاحبان مشاغل، درک و استفاده از ارزهای دیجیتال مانند ورود به قلمرو ناشناخته است. با این حال، به نظر نمی رسد که این مورد برای مدت طولانی است.
اخیرا پی پال قابلیت پرداخت و دریافت ارز دیجیتال را از طریق سیستم پرداخت استاندارد خود معرفی کرده است. این می تواند زنگ خطری برای مشاغل در سراسر جهان باشد. اگر بیت کوین به عنوان یک ارز استاندارد در میان 377 میلیون کاربر فعال خود در پلتفرم های شناخته شده ای مانند پی پال پذیرفته شود، تقاضای مصرف کنندگان برای پرداخت از طریق گزینه های پرداخت ارز دیجیتال به زودی افزایش خواهد یافت.
با گسترش استفاده از ارز دیجیتال، شرکت ها باید هزینه بیشتری را نه تنها برای انطباق با وضعیت متغیر مالی خود، بلکه برای استفاده از مزایای کار بر روی بلاک چین بپردازند. بازاریابان و مدیران کسب و کار ممکن است برای استفاده از این ارز به یک منحنی یادگیری نیاز داشته باشند، اما باید توجه داشت که استفاده از ارز دیجیتال مزایای زیادی دارد. شامل:
مزیت مالی پذیرش پول دیجیتال، هزینه تراکنش کمتر است
گاهی اوقات شرکت های کارت اعتباری برای هر تراکنش تا 4 درصد کارمزد اضافه می کنند. هزینه مالک POS به طور یکسان برای همه صاحبان مشاغل، صرف نظر از گردش مالی، اعمال می شود.] این هزینه ها می تواند به سرعت افزایش یابد، به خصوص برای مشاغل کوچک. به همین دلیل است که کسب و کارهای کوچک اغلب دارای حداقل مقدار خرید هستند که خریدار باید قبل از ضربه زدن به فروشنده به آن برسد. اگرچه این حداقل هزینه ها در حال حاضر استاندارد هستند، اما برای مصرف کنندگان غیرقابل تصور به نظر می رسند، زیرا مردم امروز پول نقد کمتری نسبت به قبل دارند.
کارمزدهای شخص ثالث هنگام انجام انواع تراکنش های بین المللی می تواند به شدت افزایش یابد. کارمزدهای پرداخت، کارمزد مبادله ارز و کارمزدهای بانکی حجم قابل توجهی از تراکنش ها را تشکیل می دهند و عامل اصلی در مبادلات بین المللی کالا و خدمات هستند. ببینید چقدر پول هدر رفته است.
بیت کوین با دور زدن شرکت های کارت اعتباری و سایر واسطه ها، هزینه های کلی تراکنش را کاهش می دهد.
ارز دیجیتال
پرداخت آسان
مصرف کنندگان به گزینه های پرداخت متعدد، از کارت های اعتباری گرفته تا خریدهای درون برنامه ای روی تلفن همراه خود عادت دارند. بیت کوین سطح بعدی تراکنش ها و پرداخت ها است. سطحی که مصرف کنندگان به تنهایی در آن راه می روند. کاربران بیت کوین می توانند در هر جایی که به اینترنت دسترسی دارند، با تلفن همراه خود پرداخت و مبادله کنند. امکان انجام کارها فقط با تلفن همراه کار را برای افراد آسان تر می کند. یعنی افرادی که تلفنی با دیگران ارتباط برقرار می کنند، از خدمات بانکی استفاده می کنند و خرید می کنند.
برخلاف کارت‌های اعتباری، که تراکنش‌ها از طریق مجموعه‌ای از داده‌های شخصی ردیابی می‌شوند، بیت‌کوین به اطلاعات شناسایی نیاز ندارد. تسهیلاتی که انعطاف و انتخاب بیشتری را در اختیار مشتری قرار می دهد
پشتیبانی تجاری
پرداخت های بیت کوین غیرقابل استرداد است. این بدان معنی است که معامله گران می توانند اطمینان حاصل کنند که به محض اتمام معامله، پرداخت می شود. زمانی که تراکنش از طریق بلاک چین انجام می شود خطر بازپرداخت وجه یا اختلافات پرداخت تقلبی وجود ندارد.
افزایش پایگاه مشتریان
مصرف کنندگان بیش از هر زمان دیگری به تغییرات سریع در حوزه فناوری از جمله دنیای معاملات عادت کرده اند. Square، Venmo و دیگر برنامه‌های خرید و پرداخت درون‌برنامه زمانی ناشناخته بودند، اما اکنون به بخشی از زندگی روزمره مصرف‌کننده تبدیل شده‌اند.
احتمالا دیری نمی‌گذرد که بلاک چین وارد حوزه عمومی می‌شود و در معاملات روزمره تجاری رایج می‌شود.
تخمین دقیق تعداد کاربران بلاک چین غیرممکن است، اما واضح است که تعداد کاربران در حال افزایش است. بر اساس گزارش Blockchain.com، در ابتدای سال 2019، حدود 32 میلیون کاربر در بلاک چین فعال هستند. در ابتدای سال 2020، این آمار با افزایش 41 درصدی به 45 میلیون کاربر رسید.
با ارائه بیت کوین به عنوان یک گزینه پرداخت، صاحبان مشاغل طیف وسیع تری از مشتریان را باز می کنند. اگر کاربران بیشتری به طور مداوم از بیت کوین استفاده کنند، آن دسته از کاربران احتمالاً به شرکت هایی روی می آورند که بلاک چین را به عنوان گزینه پرداخت ارائه می دهند. همچنین، مصرف‌کنندگان ترجیح می‌دهند با مشاغلی که اعتبار را به جای نقدی می‌پذیرند، کار کنند.
بیت کوین
دنیای بلاک چین
با نگاه به آینده
ارز دیجیتال ممکن است به اندازه کارت های اعتباری رایج نباشد، اما با توجه به لیست روزافزون مزایایی که ارز دیجیتال برای صاحبان مشاغل و مصرف کنندگان دارد، این گفته برای مدت طولانی صادق نخواهد بود.
کسب و کارها باید هوشمندانه به دنبال این مزایا باشند، بر تردیدهای خود غلبه کنند و مدل کسب و کار خود را به سمت پذیرش بلاک چین تغییر دهند. نگاه کردن به ماه‌ها و سال‌های آینده نویدبخش افزایش تعداد و انواع کسب‌وکارهایی است که به دنبال چنین تغییری هستند. علاوه بر شرکت‌های بزرگ فناوری مانند پی پال که در حال تغییر مدل پرداخت هستند، کسب‌وکارهای سنتی که به صورت روزانه مستقیماً با مشتریان در تعامل هستند، مانند شرکت‌های حمل‌ونقل یا خشک‌شویی نیز آماده پذیرش پرداخت‌های مبتنی بر ارز دیجیتال هستند. واضح است که مزایای بلاک چین به صنعت خاصی از یک شرکت محدود نمی شود، بلکه هر کسب و کاری می تواند و باید از مزایای ارز دیجیتال استفاده کامل کند، زیرا ارز دیجیتال همچنان دریافت می کند. اعتماد و محبوبیت.

  • sahar saha sql
  • ۰
  • ۰

ویرایشگر متن در مرورگر، به رنگ آبی
میکروسرویس ها - برنامه هایی که به قطعات کوچکتر و قابل ترکیب تقسیم می شوند که با هم کار می کنند - به اندازه داغ ترین رستوران جدید شهر توجه زیادی را به خود جلب می کنند. (اگر هنوز آشنا نیستید، قبل از ادامه در اینجا، در قسمت Microservices چیست؟)

با این حال، اگر از "Hello, World" و اجرای تعداد انگشت شماری از میکروسرویس ها خارج شده اید، و صدها میکروسرویس می سازید و هزاران نمونه را اجرا می کنید، می دانید که هیچ چیز "میکرو" در مورد آنها وجود ندارد. شما می خواهید نمونه های شما با افزایش کاربران افزایش یابد و با کاهش کاربران کاهش یابد. شما می خواهید درخواست ها را به طور موثر بین نمونه ها توزیع کنید. شما می خواهید خدمات خود را هوشمندانه بسازید و اجرا کنید. شما نیاز به یک نمای واضح از نمونه های خدماتی دارید که در حال اجرا یا از کار افتادن هستند. چگونه می توانید این همه پیچیدگی را مدیریت کنید؟
اطلاعات بیشتر در مورد Microservices
چگونه میکروسرویس ها را به مدیر عامل خود توضیح دهیم

آخرین مقالات میکروسرویس
این مقاله به برخی از اصطلاحات کلیدی در اکوسیستم میکروسرویس ها و برخی از نرم افزارهای منبع باز موجود برای ایجاد معماری میکروسرویس ها نگاه می کند. تمرکز بر ایجاد و مدیریت شبکه‌های میکروسرویس در مقیاس بالا و حل چالش‌های اجرای خدمات بدون خطا و آن مقیاس به درستی بر اساس تقاضای کسب‌وکار است.

در اینجا یک توزیع کامل و مجلل از غذاهای منبع باز نادیده گرفته ام. لطفا در نظرات به من اطلاع دهید.

[نسخه PDF این برگه تقلب را از اینجا دانلود کنید]

ظروف
راه درست برای استقرار برنامه ها در کانتینرها است. به طور خلاصه، یک کانتینر یک سرور مجازی مینیاتوری است که با نرم افزار مورد نیاز برای اجرای یک برنامه کاربردی بسته بندی شده است. بسته کانتینر کوچک، هوشمند و به راحتی قابل استقرار و نگهداری است. و استقرار برنامه شما در یک کانتینر هوشمندانه است. می‌توانید هر تعداد نمونه را که نیاز دارید پیاده‌سازی کنید و در صورت نیاز برای پاسخگویی به بار فعلی، مقیاس را افزایش یا کاهش دهید.

ظروف منبع باز

مجوز کد نرم افزار
rkt GitHub Apache License 2.0
Docker GitHub Apache License 2.0
مجوز FreeBSD زندان GitHub FreeBSD
LXC GitHub GNU LGPL نسخه 2.1
OpenVZ GitHub GNU General Public License نسخه 2.0
ارکسترهای کانتینری
اگر صدها یا هزاران نمونه سرویس در کانتینرها مستقر شده‌اید، به یک راه خوب برای مدیریت آنها نیاز دارید. ارکستراسیون کانتینر راه حل مناسبی برای استقرار و مدیریت همه این کانتینرها است. ارکسترها می توانند حرکت کنند. افزایش، کاهش یا کاهش مقیاس؛ مدیریت بارهای بیشتر یا کمتر؛ ظروف اضافه، برداشته شده و مرده را تنظیم کنید. و خیلی بیشتر.

ارکستراتورهای کانتینر منبع باز

مجوز کد نرم افزار
Kubernetes GitHub Apache License 2.0
OpenShift GitHub Apache License 2.0
Nomad GitHub Mozilla Public License 2.0
LXD GitHub Apache License 2.0
دروازه های API

دروازه API یک نگهبان است که تماس های API به برنامه شما را کنترل و نظارت می کند. یک دروازه API سه نقش کلیدی دارد:

داده های API و مدیریت: فهرست API، اشتراک API، اسناد API، پشتیبانی انجمن
دیدگاه و صورت‌حساب API: تجزیه و تحلیل، معیارها، صورت‌حساب
کنترل و امنیت API: مدیریت تماس گیرنده اشتراک، کنترل نرخ، مسدود کردن، تبدیل داده ها، تولید و پشتیبانی جعبه ایمنی، مدیریت کلید
دروازه های API معمولاً راه حل های چند مستاجر برای استقرار چندین برنامه در یک دروازه هستند.

دروازه های API منبع باز

همه دروازه‌های API زیر از تمام عملکردهای ذکر شده در بالا پشتیبانی نمی‌کنند، بنابراین بسته به نیاز خود انتخاب کنید.

مجوز کد نرم افزار
مجوز 3 مقیاس GitHub Apache 2.0
مجوز API Umbrella GitHub MIT
مجوز Apigee GitHub Apache 2.0
Apiman GitHub Apache License 2.0
لایسنس DreamFactory GitHub Apache 2.0
مجوز عمومی عمومی Fusio GitHub GNU Affero نسخه 3.0
Gravitee GitHub Apache License 2.0
لایسنس کنگ گیت هاب آپاچی 2.0
KrakenD GitHub Apache License 2.0
مجوز عمومی Tyk GitHub Mozilla 2.0
CI/CD
یکپارچه سازی پیوسته (CI) و استقرار پیوسته (CD؛ همچنین ممکن است به معنای تحویل مداوم باشد) مجموع خالص فرآیندها برای ساخت و اجرای فرآیندهای شما هستند. CI/CD فلسفه ای است که تضمین می کند میکروسرویس های شما به درستی ساخته و اجرا می شوند تا انتظارات کاربران را برآورده کنند. اتوماسیون عامل حیاتی CI/CD است که فرآیند ساخت و اجرا را آسان و ساختارمند می کند. فرآیندهای اولیه CI ساخت و آزمایش هستند و سی دی ها مستقر و نظارت می شوند.

همه ابزارها و پلتفرم‌های CI/CD فهرست‌شده در زیر منبع باز هستند. من پلتفرم‌های SaaS را که برای میزبانی متن‌باز رایگان هستند، درج نمی‌کنم. GitHub همچنین در لیست نیست زیرا منبع باز نیست و CI/CD داخلی ندارد. به جای آن از ادغام محصول CI/CD شخص ثالث استفاده می کند. GitLab منبع باز است و دارای یک سرویس داخلی CI/CD است، بنابراین در این لیست قرار دارد.

ابزارهای منبع باز CI/CD

مجوز کد نرم افزار
مجوز MIT جنکینز GitHub
مجوز GitLab GitLab MIT
Buildbot GitHub GNU General Public License v2.0
Concourse GitHub Apache License 2.0
مجوز GoCD GitHub Apache 2.0
مجوز MIT Hudson GitHub
مجوز Spinnaker GitHub Apache 2.0
متعادل کننده بار
وقتی تعداد درخواست‌های شما مقیاس می‌شود، باید چندین نمونه از برنامه خود را مستقر کنید و درخواست‌ها را در آن نمونه‌ها به اشتراک بگذارید. برنامه ای که درخواست های بین نمونه ها را مدیریت می کند، load balancer نامیده می شود. یک متعادل کننده بار را می توان برای توزیع درخواست ها بر اساس زمان بندی دور، مسیریابی IP یا الگوریتم دیگری پیکربندی کرد. متعادل‌کننده بار به‌طور خودکار توزیع‌های درخواست را هنگامی که نمونه‌های جدید اضافه می‌شوند (برای پشتیبانی از بار بالاتر) یا از کار انداخته می‌شوند (هنگامی که بار کاهش می‌یابد) مدیریت می‌کند. تداوم جلسه یکی دیگر از ویژگی های متعادل کننده بار است که در صورت نیاز (مثلاً برای حفظ یک جلسه) درخواست های جدید را به نمونه قبلی هدایت می کند. متعادل کننده بار مبتنی بر سخت افزار و نرم افزار وجود دارد.

متعادل کننده بار منبع باز

مجوز کد نرم افزار
مجوز HAProxy GitHub HAPROXY / GPL v2.0
ماژول های آپاچی (mod_athena، mod_proxy_balancer) SourceForge یا

Code.Google یا

مجوز GitHub Apache 2.0
تعادل SourceForge GNU General Public License v2.0
توزیع کننده SourceForge GNU General Public License v2.0
مجوز GitHub Load Balancer (GLB) مدیر GitHub BSD 3-Clause
Neutrino GitHub Apache License 2.0
OpenLoBa SourceForge ناشناخته است
Pen GitHub GNU General Public License, v2.0
Seesaw GitHub Apache License 2.0
Synapse GitHub Apache License 2.0
مجوز MIT Traefik GitHub
ثبت خدمات و کشف خدمات

وقتی چند صد یا هزاران نمونه سرویس مستقر می‌شوند و با یکدیگر صحبت می‌کنند، خدمات درخواست‌کننده چگونه می‌دانند چگونه سرویس‌های پاسخ‌دهنده مناسب را به هم متصل کنند، با توجه به اینکه نقاط استقرار پویا هستند زیرا خدمات به داخل و خارج می‌شوند؟ یک سرویس رجیستری و سرویس کشف سرویس این مشکل را حل می کند. این سیستم‌ها اساساً ذخیره‌هایی با ارزش کلیدی هستند که اطلاعات پیکربندی و نام‌گذاری را حفظ می‌کنند و همگام‌سازی توزیع‌شده را ارائه می‌کنند.

خدمات رجیستری و کشف سرویس منبع باز

مجوز کد نرم افزار
Baker Street GitHub Apache License 2.0
Consul GitHub Mozilla Public License 2.0
etcd مجوز GitHub Apache 2.0
مجوز ثبت کننده GitHub MIT
Serf GitHub Mozilla Public License 2.0
مجوز ZooKeeper GitHub Apache 2.0
نظارت بر
وقتی میکروسرویس‌ها و نمونه‌های آن‌ها نیازهای کاربران را برآورده می‌کنند، باید دید خوبی از عملکرد آنها داشته باشید. ابزارهای نظارتی برای نجات!

ابزارها و نرم افزارهای مانیتورینگ منبع باز دارای طعم های متعددی هستند که برخی از آنها به سختی بهتر از بالا هستند. گزینه های دیگر شامل سیستم عامل خاص. درجه سازمانی؛ مجموعه ابزارهایی که ادغام کامل را فراهم می کنند. ابزارهای انجام یک کار که صرفاً نظارت یا گزارش یا تجسم و ادغام با ابزارهای شخص ثالث است. و ابزارهایی که بر اجزای خاص یا چندگانه مانند شبکه ها، فایل های گزارش، درخواست های وب و پایگاه های داده نظارت می کنند. ابزارهای نظارت می توانند ابزارهای مبتنی بر وب یا مستقل باشند و گزینه های اعلان از گزارش غیرفعال تا هشدار فعال متغیر است.

یک یا چند مورد از این ابزارها را انتخاب کنید تا از یک خرده ریز در شبکه میکروسرویس خود لذت ببرید.

نرم افزار مانیتورینگ منبع باز

مجوز کد نرم افزار
مجوز عمومی عمومی OpenNMS GitHub GNU Affero
مجوز Grafana GitHub Apache 2.0
Graphite GitHub Apache License 2.0
Icinga GitHub GNU General Public License نسخه 2.0
مجوز InfluxDB GitHub MIT
LibreNMS GitHub GNU General Public License نسخه 3.0
Naemon GitHub GNU General Public License نسخه 2.0
Nagios GitHub GNU General Public License نسخه 2.0
ntop GitHub GNU General Public License نسخه 3.0
ELK GitHub Apache License 2.0
پرومته GitHub Apache License 2.0
مجوز MIT Sensu GitHub
Zabbix Self-hosted repo GNU General Public License v2.0
Zenoss SourceForge GNU General Public License v2.0
راه‌حل‌های منبع باز خالص می‌توانند مواد لازم را برای استقرار و اجرای میکروسرویس‌ها در مقیاس بالا ارائه دهند.

  • sahar saha sql
  • ۰
  • ۰

معماری میکروسرویس پیچیده تر از سیستم قدیمی است. محیط میکروسرویس پیچیده تر می شود زیرا تیم باید بسیاری از قطعات متحرک را مدیریت و پشتیبانی کند. در اینجا برخی از چالش های مهمی که یک سازمان در سفر ریزخدمات خود با آن مواجه است آورده شده است:

زمینه محدود
مقیاس پویا به بالا و کاهش مقیاس
نظارت بر
تحمل خطا
وابستگی های چرخه ای
DevOps Culture
زمینه محدود: مفهوم بافت محدود در حلقه‌های طراحی دامنه محور (DDD) نشات گرفته است. این اولین رویکرد مدل شیء به سرویس را ترویج می کند و مدل داده ای را تعریف می کند که سرویس مسئول و متعهد به آن است. یک زمینه محدود، مسئولیت خاص مدل را روشن، محصور و تعریف می کند. این تضمین می کند که دامنه از بیرون منحرف نخواهد شد. هر مدل باید زمینه ای داشته باشد که به طور ضمنی در یک زیر دامنه تعریف شده است، و هر بافتی مرزهایی را تعریف می کند.

به عبارت دیگر، سرویس مالک داده های خود است و مسئولیت یکپارچگی و تغییرپذیری آن را بر عهده دارد. از مهمترین ویژگی میکروسرویس ها که استقلال و جداسازی است پشتیبانی می کند.

افزایش و کاهش مقیاس دینامیکی: بارهای روی میکروسرویس‌های مختلف ممکن است در نمونه‌های متفاوتی از نوع باشد. همچنین میکروسرویس شما باید مقیاس خودکار را کاهش دهد. هزینه ریز سرویس ها را کاهش می دهد. ما می توانیم بار را به صورت پویا توزیع کنیم.

نظارت: روش سنتی نظارت با میکروسرویس ها هماهنگ نیست زیرا ما چندین سرویس داریم که عملکرد یکسانی را تشکیل می دهند که قبلاً توسط یک برنامه واحد پشتیبانی می شد. هنگامی که خطایی در برنامه رخ می دهد، یافتن علت اصلی می تواند چالش برانگیز باشد.

تحمل خطا: تحمل خطا سرویس فردی است که کل سیستم را خراب نمی کند. برنامه زمانی که خرابی رخ می دهد می تواند با درجه خاصی از رضایت کار کند. بدون تحمل خطا، یک شکست واحد در سیستم ممکن است باعث خرابی کامل شود. قطع کننده مدار می تواند به تحمل خطا دست یابد. مدار شکن الگویی است که درخواست را به سرویس خارجی می بندد و تشخیص می دهد که چه زمانی معیوب هستند. میکروسرویس ها باید هر دو شکست داخلی و خارجی را تحمل کنند.

وابستگی چرخه ای: مدیریت وابستگی در سرویس های مختلف و عملکرد آن بسیار مهم است. وابستگی چرخه ای می تواند مشکل ایجاد کند، اگر به سرعت شناسایی و حل نشود.

فرهنگ DevOps: Microservices کاملاً با DevOps سازگار است. این سرویس تحویل سریعتر، دید بین داده ها و داده های مقرون به صرفه را ارائه می دهد. می تواند استفاده آنها از سوئیچ کانتینری را از معماری سرویس گرا (SOA) به معماری میکروسرویس (MSA) گسترش دهد.

چالش های دیگر میکروسرویس ها
همانطور که ما میکروسرویس های بیشتری را اضافه می کنیم، باید مطمئن باشیم که آنها می توانند با هم مقیاس شوند. دانه بندی بیشتر به معنای قطعات متحرک بیشتر است که باعث افزایش پیچیدگی می شود.
ورود به سیستم سنتی ناکارآمد است زیرا ریزسرویس ها بدون وضعیت، توزیع شده و مستقل هستند. گزارش باید بتواند رویدادها را در چندین پلتفرم مرتبط کند.
هنگامی که خدمات بیشتری با یکدیگر تعامل داشته باشند، احتمال شکست نیز افزایش می یابد.

  • sahar saha sql
  • ۰
  • ۰

رایانش ابری و معماری ابری برای برنامه‌های نرم‌افزاری، تغییر دهنده بازی بوده‌اند. با ظهور همزمان میکروسرویس ها، فرآیندهای توسعه ساده می شوند و امکان تمرکز و بهره وری بیشتر را فراهم می کنند.


در عین حال، ریزسرویس ها یکی از پرکاربردترین اصطلاحات در وبلاگ نویسی فناوری اطلاعات در اکثر صنایع فناوری اطلاعات هستند. این کلمه اغلب بدون قافیه یا دلیل استفاده می شود و باعث سردرگمی غیر ضروری در بین رهبران کسب و کار و تصمیم گیرندگان می شود.

در این وبلاگ توضیح داده خواهد شد:

تعریف معماری میکروسرویس
نمونه هایی از الگوهای طراحی میکروسرویس
مزایای تجاری میکروسرویس ها در تجارت الکترونیک
نمونه هایی از استقرار موفقیت آمیز میکروسرویس های سازمانی
تعریف معماری میکروسرویس
به طور خلاصه، معماری میکروسرویس یک چارچوب سست از خدمات هماهنگ است که فقط یک عمل را انجام می دهد. Microservices یک برنامه کاربردی را به عنوان مجموعه ای از خدمات ساختار می دهد که عبارتند از:

آزادانه جفت شده و از طریق API ها ارتباط برقرار می کند
بسیار قابل نگهداری و آزمایش پذیر
به طور مستقل قابل استقرار
بر اساس قابلیت های تجاری سازماندهی شده است
مجموعه ماژول ها مانند یک کیت ساخت لگو است. شما هر خدمت را به اهداف خاص شرکت اختصاص می دهید. اصل تک مسئولیت، هسته ریز خدمات است.

API (رابط برنامه کاربردی) خدمات مختلف را با اجازه دادن به آنها برای ارتباط با یکدیگر متحد می کند. این رویکرد آزادی زیادی را از نظر استقلال نسبی خدمات از یکدیگر فراهم می کند، که توسعه و نگهداری را بسیار ساده تر می کند.

معماری طراحی شده برای میکروسرویس ها بهترین گزینه در شرایطی است که نیاز اولیه سیستم شما چابکی و مقیاس پذیری است. همچنین می توانید برندها و تجربیات خود را به صورت تدریجی راه اندازی کنید که منجر به نوآوری و بهینه سازی مداوم می شود.

اطلاعات بیشتر در مورد یکپارچه در مقابل میکروسرویس را اینجا بخوانید.

نمونه های میکروسرویس از الگوهای معماری
یکی دیگر از عناصر ضروری الگوی معماری میکروسرویس این است که یک سیستم توزیع شده است، به این معنی که همه اجزا به طور کامل جدا شده و از طریق یک پروتکل دسترسی از راه دور (مانند RMI، REST، JMS، AMQP، SOAP) قابل دسترسی هستند. ماهیت توزیع شده این الگوی معماری یکی از نقاط قوت اصلی آن است.

اصول طراحی معماری برای میکروسرویس ها
یکپارچه-دربرابر-میکروسرویس_-تفاوت-های-بین-آنها-و-وقتی-زمان-باز کردن-3-min.png
1. مسئولیت منفرد: برای دستیابی به بهترین معماری سرویس گرا، هر میکروسرویس تمرکز واحدی دارد و یک سرویس را ارائه می دهد.

2. ساخته شده بر اساس قابلیت های تجاری: هر میکروسرویس ممکن است از فناوری متفاوتی بر اساس نیازهای تجاری استفاده کند.

3. طراحی شده برای خرابی: اگر یک میکروسرویس با خطایی مواجه شود، روی هیچ سرویس دیگری تأثیر نمی گذارد.

یکی از جنبه های جذاب این معماری این است که به جای اینکه به عنوان درمانی برای یک مشکل ابداع شود، از مسائل مربوط به سایر الگوهای معماری رایج تکامل یافته است. سبک طراحی میکروسرویس از دو خاستگاه اصلی پدید آمده است:

1. برنامه های کاربردی یکپارچه که با استفاده از الگوی معماری لایه ای ساخته شده اند
الگوی معماری لایه ای بر اساس ساختار n-tier است. هر لایه دارای مجموعه‌ای از مسئولیت‌ها است که نحوه انجام وظایف و تعاملات برنامه را مشخص می‌کند. مؤلفه ها در لایه های افقی سازماندهی می شوند که هر لایه عملکرد مجزایی را در برنامه انجام می دهد (به عنوان مثال، منطق تجاری یا منطق ارائه). اکثر معماری های لایه ای شامل چهار لایه استاندارد هستند: ارائه، کسب و کار، ماندگاری و پایگاه داده.

2. برنامه های کاربردی توزیع شده تولید شده با استفاده از رویکرد معماری سرویس گرا
معماری سرویس گرا ترکیبی از اجزای نرم افزار توزیع شده، مستقل نگهداری شده و مستقر شده است. توانایی برقراری ارتباط و همکاری از طریق یک شبکه، به ویژه یک شبکه IP، توسط فناوری‌ها و استانداردهایی که ارتباطات و همکاری اجزا را تسهیل می‌کنند، افزایش می‌یابد.

نمونه های میکروسرویس از الگوهای معماری عبارتند از:

الگوی خفه کننده
الگوی منبع یابی رویداد
الگوی دروازه API
الگوهای SAGA
نمونه معماری میکروسرویس: الگوی خفه کننده
الگوی Strangler جایی است که یک سیستم "قدیمی" در پشت یک نمای "نامرئی" پنهان شده است. با گذشت زمان، خدمات جایگزین خارجی برای سیستم قدیمی در بالای نما ساخته می شود.

وظیفه هر نما نشان دادن نقاط ورودی موجود سیستم است.
سیستم قدیمی هنوز تا حدودی نفوذ دارد.
تماس های سیستم قبلی از نما عبور می کند.
سرویس‌های جدید از سرویس‌های سیستم قدیمی ایجاد می‌شوند که بازسازی می‌شوند.
نمای واسطه اصلاح می‌شود تا تماس‌هایی را که قبلاً برای سرویس سیستم قدیمی به مقصد جدید پس از ایجاد سرویس جدید هدایت می‌شد، هدایت کند.
سرویس های قدیمی در نهایت به نفع سرویس های جدید «خفه می شوند».

Group-3375-min.png
برخی از خدمات نیازی به مهاجرت در طول فرآیند مهاجرت ندارند. اینها شامل هر برنامه یا سرویسی با محدودیت در استفاده است، مانند مواردی که به یک پلت فرم تجارت الکترونیک تعلق دارند.

با افزودن ویژگی‌های جدید و بازسازی ویژگی‌های موجود، می‌توانید مطمئن شوید که سایت شما ارزش بیشتری نسبت به قبل برای بازدیدکنندگان ارائه می‌کند و در عین حال عملکرد کامل را حفظ می‌کند.

هنگامی که در حال انجام یک تغییر سیستم هستید، به شما این امکان را می دهد که ریسک را کاهش دهید و برنامه های موجود را در حین مهاجرت به نسخه های جدید حفظ کنید.

الگوی منبع یابی رویداد
منبع رویداد یک توالی زمانی جدید از رویدادها ایجاد می کند. ایجاد مجدد وضعیت برنامه شامل پرس و جو از داده ها است، و برای انجام این کار، باید هر تغییری را در وضعیت برنامه مجدداً ترسیم کنید. این مفهوم که سیستم باید هرگونه تغییر در وضعیت موجودیت را ثبت کند، زیربنای منبع یابی رویداد است.

ماندگاری یک کالای تجاری با ثبت یک سری رویدادهای تغییر دهنده حالت حفظ می شود.

Group-3376-min.png
هر بار که وضعیت یک شی تغییر می کند، یک رویداد جدید به دنباله رویدادها اضافه می شود. این است

در اصل یک عمل وضعیت فعلی آن ممکن است با پخش مجدد رخدادهای آن بازسازی شود.

فروشگاه رویداد همه رویدادها را ردیابی می کند و به عنوان دلال پیام و پایگاه داده رویدادها عمل می کند. این به سرویس ها امکان می دهد برای رویدادها از طریق یک API ثبت نام کنند. همه مشترکین علاقه مند در مورد هر رویداد ذخیره شده در پایگاه داده فروشگاه رویداد مطلع می شوند. فروشگاه رویداد پایه معماری میکروسرویس های رویداد محور است.

الگوی منبع یابی رویداد برای استفاده در موارد زیر عالی است:

ضروری است که ذخیره داده فعلی را حفظ کنید
شما هیچ تغییری در پایگاه کد لایه داده موجود خود نمی خواهید
تراکنش های شما برای موفقیت برنامه شما حیاتی است
نمونه معماری Microservices: API Gateway
هدف API Gateway ارائه یک نقطه ورودی واحد برای مجموعه ای از میکروسرویس ها است. برای برنامه های بزرگ با چندین برنامه مشتری عالی است، و مسئول ارائه یک نقطه ورودی یکپارچه برای گروه خاصی از میکروسرویس ها است.

Untitled.png
برنامه های مشتری و میکروسرویس ها نیازی به تعامل مستقیم ندارند. در عوض، آنها از طریق دروازه ای که در وسط قرار دارد، ارتباط برقرار می کنند. این به عنوان یک پروکسی معکوس عمل می کند و درخواست های مشتری را به خدمات ارسال می کند. احراز هویت، خاتمه SSL و حافظه پنهان تنها تعدادی از عملکردهای مقطعی هستند که می تواند ارائه دهد.

درگاه microservices API برای مدیریت صحیح خرابی های جزئی طراحی شده است. شکست یک میکروسرویس پاسخگو باعث شکست کل درخواست نمی شود. توانایی یک دروازه API میکروسرویس برای بازیابی از مشکلات حتی جزئی بسیار مهم است.

هنگامی که یک برنامه با شکست مواجه می شود، می تواند:

از یک پاسخ ذخیره شده قبلی استفاده کنید.
کد خطا را برای اطلاعات مهم در نگرانی اصلی درخواست برگردانید.
یک مقدار اختصاص نیافته ارائه کنید.
به لیست 10 سخت افزار برتر اعتماد کنید.
نمونه معماری میکروسرویس ها: SAGA

SAGA یک تکنیک موثر برای حفظ ثبات داده ها در یک ساختار توزیع شده بدون به خطر انداختن خواص ACID است. SAGA مسئول انجام بسیاری از تراکنش‌های نظرات با اجازه دادن به بازگشت است.

Group-3377-min.png
SAGA ممکن است در ارکستراسیون یا رقص نمایش داده شود.

در رقص SAGA، هیچ ارکستراسیون کلی وجود ندارد. هر سرویس در Saga تراکنش خود را انجام می دهد و رویدادها را یکی یکی منتشر می کند. سایر خدمات نسبت به این رویدادها واکنش نشان می دهند و مسئولیت خود را تکمیل می کنند. بسته به موقعیت ممکن است رویدادهای اضافی را منتشر کنند یا نکنند.

هر سرویس در داستان تراکنش های خود را انجام می دهد و رویدادها را در ارکستراسیون SAGA منتشر می کند. سایر سرویس ها از رخدادها مطلع می شوند و مسئولیت های خود را انجام می دهند.

مزایای استفاده از SAGA: ممکن است برای حفظ سازگاری داده ها بین سرویس ها بدون اینکه بیش از حد کوپل شود استفاده شود.
مضرات استفاده از SAGA: پیچیدگی الگوی طراحی SAGA برای توسعه دهندگان زیاد است و آنها به نوشتن حماسه به عنوان تراکنش های معمولی عادت ندارند.
مزایای تجاری معماری میکروسرویس به طور خلاصه
مهم ترین مزیت تجاری مدرن استفاده از معماری میکروسرویس از نقطه نظر عملکرد، افزایش معیارهای UX است. آنها برای مطابقت با معیارهای سرعت Google ساخته شده اند، که با انتظارات کاربران مدرن هنگام خرید آنلاین همسو هستند. در زیر خلاصه ای کوتاه از مزایای حیاتی که می توانید از یک سیستم کامپایل شده از میکروسرویس ها انتظار داشته باشید آورده شده است.

تاثیر سئو:

بارگذاری سریع‌تر صفحه و تصویر، رتبه‌بندی SEO را بهبود می‌بخشد و ترافیک ارگانیک را افزایش می‌دهد.

تاثیر تبدیل:

تاکید زیادی بر UX موبایل دارد و نرخ تبدیل شما را به شدت بهبود می بخشد.

تاثیر بودجه:

بودجه‌های توسعه بسیار کوچک‌تر هستند و بودجه‌های بزرگ‌تری برای جذب مشتری فراهم می‌کنند.

منابع:

بهترین استعدادهای توسعه جذب فناوری مدرن می شوند. آنها می خواهند در خط مقدم توسعه بزرگ بعدی باشند.

درآمد:

زمان سریع‌تر برای بازاریابی، کاهش هزینه‌های توسعه‌دهنده، تبدیل‌های بالاتر و UX بهینه‌شده بر درآمد شما تأثیر مثبت می‌گذارد.

عملکرد UX:

هر برنامه کوچکتر است و با تمرکز قوی بر عملکرد و سرعت UX مدرن ساخته شده است.

مثال Netflix Microservices
pasted_image_0.png
نتفلیکس از معماری میکروسرویس های AWS استفاده می کند. هر گونه ارتباط بین میکروسرویس ها از طریق APIهای کاملاً تعریف شده انجام می شود و امکان توسعه چند زبانه را فراهم می کند. این به مقرون به صرفه نگه داشتن ابر کمک می کند و یک نقطه از شکست را حذف می کند، حتی اگر مهندسان چندین منطقه خدماتی را به طور همزمان تغییر دهند.

در آگوست 2008، نتفلیکس زمانی که هنوز از معماری یکپارچه و مراکز داده خصوصی استفاده می‌کرد، دچار قطعی قابل‌توجهی شد. این امر باعث شد نتفلیکس متوجه شود که باید از رویکرد استقرار مداوم و برنامه‌های کاربردی جدا شده برای جلوگیری از مشکلات آینده استفاده کند.

میکروسرویس ها اطمینان حاصل کردند که با قطع سرویس مواجه نشوند زیرا آنها را از یک پشته منفرد و آسیب پذیر دور می کند. همچنین به مهندسان نتفلیکس این امکان را می‌دهد تا با ایده‌های طراحی جدید بدون تأثیر بر بقیه عملکرد سرویس بازی کنند.

نت‌فلیکس را چابک‌تر کرد و در نتیجه مهندسی Chaos، Spinnaker، Global Cloud و رشد عظیمی را که شرکت امروز شاهد بود، به‌دست آورد. هر اپلیکیشنی که روی سیستم اجرا می‌شود، بخش مجزایی از عملیات گسترده نتفلیکس را بر عهده دارد.

به عنوان مثال، هر یک از این توابع توسط یک میکروسرویس مجزا کنترل می شود:

فهرستی از فیلم هایی که در منوی بالا ظاهر می شوند تهیه کنید.
برای ارائه محتوای مرتبط با سطح اشتراک، وضعیت عضویت فعلی خود را بررسی کنید.
برای توصیه فیلم‌هایی که ممکن است دوست داشته باشید، سابقه تماشای خود را مطالعه کنید.
وقتی زمان تمدید عضویت نتفلیکس فرا رسید، کارت اعتباری خود را شارژ کنید.
موثرترین ابزار تحویل محتوا (CDA) را در منطقه خود پیگیری کنید تا ببینید آیا یکی از آنها مسدود می شود یا از کار می افتد.
به طور خودکار شما را به بهترین CDA با بهترین اتصال به اینترنت منتقل می کند.
نسخه دیجیتالی فایل های اصلی با کیفیت بالا را در سرورهای AWS نگه دارید.
اطمینان حاصل کنید که مجموعه متفاوتی از سرورهای AWS نسخه اصلی را به کیفیت، فرمت، اندازه و صدا تبدیل می کند که ممکن است در انواع دستگاه ها، از جمله دستگاه های تلفن همراه، تلویزیون های هوشمند، و کنسول های بازی پخش شود.
مشخص کنید که از چه دستگاهی برای مشاهده Netflix استفاده می کنید و فرمت ویدیوی مناسب را ارائه دهید.
افزودن نشانه های حق چاپ به همه فایل ها (مدیریت حقوق دیجیتال)
اینها تنها چند روش هستند که نتفلیکس از معماری میکروسرویس ها به نفع خود بهره برداری می کند. نزدیک به 990 گزینه دیگر وجود دارد.

مثال میکروسرویس Spotify
pasted_image_0.png
یکی دیگر از نمونه های برجسته میکروسرویس های مورد استفاده برای ساخت یک سیستم کارآمد، Spotify است. Spotify در حال حاضر بیش از 75 میلیون کاربر فعال ماهانه دارد. این یک منطقه عظیم برای گسترش است.

مشتریانی که از این برنامه ها استفاده می کنند نمی خواهند نگران خدمات باشند، بنابراین هدف ارائه یک تجربه بدون دردسر است.

در اینجا نحوه برخورد Spotify با آن آمده است:

این شبکه به میکروسرویس های تک منظوره مستقل با تیم های توسعه مستقل تقسیم می شود.
هر میکروسرویس بر روی یک هدف مجزا تمرکز دارد.
خدمات مشتری سازگارتر است زیرا این خدمات در سیلوها کار می کنند. در نتیجه، پشتیبانی مشتری کمتر به یکدیگر وابسته است و شرکت می تواند آن را بدون تأثیر بر خدمات بهبود بخشد.
علاوه بر این، هر مشکل جدید به یک سرویس محدود می شود و کل سیستم را تحت تاثیر قرار نمی دهد.
نمونه میکروسرویس های Zadig & Voltaire
Zadig & Voltaire، یک شرکت مد مشهور، یکی از اولین بازرگانی بود که Magento را در سال 2008 به کار گرفت. تقریباً برای یک دهه، این پلتفرم که استانداردهای تجارت الکترونیک را ایجاد کرد، یک تطابق ایده آل برای Zadig & Voltaire بود. با این حال، آنها تصمیم گرفتند لایه frontend را برای یکپارچه سازی UX خود در سراسر بازارها بازسازی کنند.

ZadigVoltaire-Desktop-Mobile-CASE-STUDY-min.jpg
این شرکت نیاز به افزایش عملکرد و انعطاف پذیری برای ارائه معاملات مناسب در تمام بازارهای مورد نظر داشت، که بدون بازسازی معماری فناوری اطلاعات و جایگزینی برخی از روش های دستی با اتوماسیون دشوار بود.

برای دستیابی به اهداف بلندپروازانه خود، این استراتژی خواستار استفاده از یک رویکرد طراحی میکروسرویس بود که شامل موارد زیر بود:

به عنوان مثال، هر یک از این توابع توسط یک میکروسرویس مجزا کنترل می شود:

فهرستی از فیلم هایی که در منوی بالا ظاهر می شوند تهیه کنید.
برای ارائه محتوای مرتبط با سطح اشتراک، وضعیت عضویت فعلی خود را بررسی کنید.
برای توصیه فیلم‌هایی که ممکن است دوست داشته باشید، سابقه تماشای خود را مطالعه کنید.
وقتی زمان تمدید عضویت نتفلیکس فرا رسید، کارت اعتباری خود را شارژ کنید.
موثرترین ابزار تحویل محتوا (CDA) را در منطقه خود پیگیری کنید تا ببینید آیا یکی از آنها مسدود می شود یا از کار می افتد.
به طور خودکار شما را به بهترین CDA با بهترین اتصال به اینترنت منتقل می کند.
نسخه دیجیتالی فایل های اصلی با کیفیت بالا را در سرورهای AWS نگه دارید.
اطمینان حاصل کنید که مجموعه متفاوتی از سرورهای AWS نسخه اصلی را به کیفیت، فرمت، اندازه و صدا تبدیل می کند که ممکن است در انواع دستگاه ها، از جمله دستگاه های تلفن همراه، تلویزیون های هوشمند، و کنسول های بازی پخش شود.
مشخص کنید که از چه دستگاهی برای مشاهده Netflix استفاده می کنید و فرمت ویدیوی مناسب را ارائه دهید.
افزودن نشانه های حق چاپ به همه فایل ها (مدیریت حقوق دیجیتال)
اینها تنها چند روش هستند که نتفلیکس از معماری میکروسرویس ها به نفع خود بهره برداری می کند. نزدیک به 990 گزینه دیگر وجود دارد.

مثال میکروسرویس Spotify
pasted_image_0.png
یکی دیگر از نمونه های برجسته میکروسرویس های مورد استفاده برای ساخت یک سیستم کارآمد، Spotify است. Spotify در حال حاضر بیش از 75 میلیون کاربر فعال ماهانه دارد. این یک منطقه عظیم برای گسترش است.

مشتریانی که از این برنامه ها استفاده می کنند نمی خواهند نگران خدمات باشند، بنابراین هدف ارائه یک تجربه بدون دردسر است.

در اینجا نحوه برخورد Spotify با آن آمده است:

این شبکه به میکروسرویس های تک منظوره مستقل با تیم های توسعه مستقل تقسیم می شود.
هر میکروسرویس بر روی یک هدف مجزا تمرکز دارد.
خدمات مشتری سازگارتر است زیرا این خدمات در سیلوها کار می کنند. در نتیجه، پشتیبانی مشتری کمتر به یکدیگر وابسته است و شرکت می تواند آن را بدون تأثیر بر خدمات بهبود بخشد.
علاوه بر این، هر مشکل جدید به یک سرویس محدود می شود و کل سیستم را تحت تاثیر قرار نمی دهد.
نمونه میکروسرویس های Zadig & Voltaire
Zadig & Voltaire، یک شرکت مد مشهور، یکی از اولین بازرگانی بود که Magento را در سال 2008 به کار گرفت. تقریباً برای یک دهه، این پلتفرم که استانداردهای تجارت الکترونیک را ایجاد کرد، یک تطابق ایده آل برای Zadig & Voltaire بود. با این حال، آنها تصمیم گرفتند لایه frontend را برای یکپارچه سازی UX خود در سراسر بازارها بازسازی کنند.

ZadigVoltaire-Desktop-Mobile-CASE-STUDY-min.jpg
این شرکت نیاز به افزایش عملکرد و انعطاف پذیری برای ارائه معاملات مناسب در تمام بازارهای مورد نظر داشت، که بدون بازسازی معماری فناوری اطلاعات و جایگزینی برخی از روش های دستی با اتوماسیون دشوار بود.

برای دستیابی به اهداف بلندپروازانه خود، این استراتژی خواستار استفاده از یک رویکرد طراحی میکروسرویس بود که شامل موارد زیر بود:

جدا کردن قسمت جلویی از قسمت باطنی، با استفاده از رابط کاربری Storefront.
اتخاذ یک CMS بدون هدلس معاصر.
پذیرش پتانسیل فناوری وب پیشرو (PWA).
آنها Vue Storefront را انتخاب کردند و - علاوه بر ترکیب مزایای برنامه های بومی و دسکتاپ - مزیت های دیگری را نیز به همراه داشت.

استفاده از داده ها در سطح بین المللی و همچنین متمایز کردن محتوا به دلیل سیستم موقعیت جغرافیایی
همگام سازی داده ها با Magento به طور خودکار مدیریت کارهای روزانه را تسهیل می کند
بهبود رتبه سئو با افزایش عملکرد و کاهش نرخ پرش
امضای کردن
الگوی معماری میکروسرویس به بسیاری از چالش‌های رایج موجود در برنامه‌های کاربردی یکپارچه و معماری‌های سرویس‌گرا می‌پردازد. از آنجایی که اجزای اصلی برنامه به ویژگی‌های کوچک‌تر و جداگانه‌ای تقسیم می‌شوند، برنامه‌هایی که بر اساس این الگوی معماری ساخته شده‌اند، عموماً قوی‌تر، مقیاس‌پذیرتر و قادر به ارائه مداوم هستند.

  • sahar saha sql
  • ۰
  • ۰

هر تیم مهندسی می‌خواهد همان کار را انجام دهد - کد ارسال، سریع. در سال‌های اخیر، بسیاری از شرکت‌ها از رویکرد معماری یکپارچه به معماری میکروسرویس‌ها روی آورده‌اند تا بتوانند این کار را انجام دهند: ساخت و استقرار کد چابک، با باگ‌های کمتر، در اسرع وقت. اما با رشد شرکت‌ها و افزایش تعداد خدمات، مشکل مشابه اغلب پیش می‌آید: هیچ سندی در مورد آنچه قبلاً انجام شده یا دلیل آن وجود ندارد.

از آنجایی که یک معماری میکروسرویس شامل بسیاری از مؤلفه‌های خدمات کوچک و مدولار است که هرکدام دارای محدوده مسئولیت محدودی هستند، پیگیری همه این سرویس‌ها، عملکردها و داده‌های آنها حیاتی است. ممکن است کد هر سرویس خیلی پیچیده نباشد، اما پیچیدگی ایجاد شده توسط سطح وسیع معماری میکروسرویس می‌تواند گردش کار حتی سازنده‌ترین تیم مهندسی را کند کند.

ساخت ریزسرویس‌ها نیازمند برنامه‌ریزی برای هر مرحله از فرآیند، از تعریف APIها و نقاط پایانی تا آمادگی تولید است، اما یکی از مهم‌ترین مراحل – و اغلب نادیده گرفته می‌شود – نحوه مستندسازی میکروسرویس‌ها است.

بنابراین، مستندسازی یک میکروسرویس به عنوان بخشی از توسعه نرم‌افزاری دقیق، چرخه حیات، به چه معناست و بهترین راه برای انجام آن چیست؟

اول: معماری میکروسرویس چیست و چرا باید به مستندسازی میکروسرویس ها فکر کنید؟
بیایید به سرعت به این موضوع بپردازیم که معماری میکروسرویس چیست - یک معماری مدرن که به طور گسترده در توسعه نرم افزار مورد استفاده قرار گرفته است. بسیاری از شرکت‌ها، از گوگل گرفته تا آمازون و نت‌فلیکس، به دلیل انعطاف‌پذیری، مقیاس‌پذیری، سهولت تحویل مداوم و پشته فناوری مدولار، این را به عنوان یک الگوی طراحی برای خدمات وب پشتی خود انتخاب می‌کنند.

الگوی معماری متشکل از سرویس‌های مستقل مرتبط با بافت‌های محدود است که از طریق یک API با سرویس‌های دیگر ارتباط برقرار می‌کنند. APIها قراردادهایی هستند که به دو سرویس اجازه می دهند با یکدیگر صحبت کنند. پروتکل‌های رایجی که میکروسرویس‌ها استفاده می‌کنند عبارتند از Representational State Transfers (REST) ​​و/یا پیام‌رسانی ساده مانند Java Messaging Service (JMS). آنها اغلب در محیط‌های کانتینری، مانند کانتینرهای Docker در Kubernetes، مدیریت و مستقر می‌شوند.

چه در حال حاضر یک معماری میکروسرویس دارید و در تلاش برای بهینه سازی آن هستید، یا اگر به دنبال تغییر آن هستید، باید رویکرد خود را در هر مرحله از چرخه عمر معماری میکروسرویس ها به دقت در نظر بگیرید.

امروز، ما در مورد مستندسازی صحبت می کنیم که حتی با تجربه ترین و با استعدادترین تیم های مهندسی نیز می توانند با آن مبارزه کنند. بدون مستندات قوی، توانایی کل تیم شما برای درک، مدیریت و حفظ سیستم به عنوان یک کل در خطر است.

با افزایش تعداد سرویس‌ها، پیگیری همه چیزهایی که با این سرویس مرتبط است (از جمله runbookها، مشخصات فنی، گزارش‌ها و داشبورد) دشوار است. توسعه‌دهندگان می‌توانند زمان قابل‌توجهی را در جستجوی ویکی‌های ضعیف مدیریت شده یا نظرات در کد از دست بدهند.

برای معماری میکروسرویس‌ها، که در آن سرویس‌ها توسط تیم‌های مختلف کار می‌کنند، اسناد ثابت برای ایجاد دانش سازمانی برای سازمان شما به عنوان یک کل بسیار مهم است. هر تیم می‌تواند از زبان‌های برنامه‌نویسی، مدل‌های داده و قراردادهای متفاوتی استفاده کند، بنابراین یک استراتژی مستندسازی مشترک و جامع کلیدی است.

با مستندات مناسب، می توانید به راحتی هر سرویس و اطلاعات مربوط به آن را بدون کاوش در نویز پیدا کنید. در طول حوادث یا آتش سوزی های فعال، اسناد و مدارک دانش سازمانی را برای مهندس در حال خدمت فراهم می کند، پاسخ ها را سریع نگه می دارد و انتقال را آسان تر می کند.

بهترین شیوه ها برای مستندات میکروسرویس

 با کار خود در این فضا، ما شاهد فرآیندهای مستندسازی معماری میکروسرویس های تیم های بی شماری بوده ایم. ما موفقیت‌ها و شکست‌هایی را دیده‌ایم، و آنچه از اجرای موفقیت‌آمیز آموخته‌ایم می‌تواند یک کتاب را پر کند. اما ما آموخته های خود را در این پست وبلاگ خلاصه کرده ایم، بنابراین این تکنیک ها و استراتژی ها را در زیر بخوانید.

استاندارد کردن
هر سازمانی باید به روشی جامع و استاندارد به اسناد و مدارک نگاه کند. هر تیمی که استراتژی و دستورالعمل‌های خود را تصمیم می‌گیرد کارساز نخواهد بود. به طور خاص، ما شاهد بوده‌ایم که بسیاری از سازمان‌ها در نهایت دارای اسنادی هستند، مثلاً در فضاهای تیم Confluence، که بر اساس تیم به جای خدمات تجزیه می‌شوند.

در عوض، سازمان باید ساختار این اسناد را حول سرویس‌ها در نظر بگیرد - تیم‌ها ممکن است تغییر کنند، اما مستندات یکسان باقی می‌مانند. شما می توانید اطلاعات زیادی را در مستندات قرار دهید، از جمله، در فراداده، تیمی که روی آن کار می کند و یادداشت های انتشار. همانطور که ضرب المثل می گوید، داده ها را به یک شهروند درجه یک تبدیل کنید.

توصیه می کنیم از یک الگوی استاندارد برای ساختار این اسناد استفاده کنید و در زیر به آن بیشتر خواهیم پرداخت. ما همچنین توصیه می‌کنیم اطلاعات نقطه پایانی و API را به‌عنوان مثال در مشخصات OpenAPI درج کنید. اسناد API احتمالاً می توانند به صورت خودکار تولید شوند، که ما نیز به زودی در مورد آن صحبت خواهیم کرد.

بازگشت به خود اسناد: آنها باید جامع، اما مختصر باشند. در حالت ایده‌آل، بسیاری از اسناد شما باید در کنار کد سرویس قرار گیرند.

علاوه بر این، مطمئن شوید که فرآیندی برای به روز رسانی اسناد در صورت ایجاد تغییرات مربوطه وجود دارد.

شما همچنان به یک راه اصلی برای نگهداری اسناد نیاز خواهید داشت – توسعه دهندگانی که مشکلی را عیب یابی می کنند نمی خواهند به روشی سخت پی ببرند که مجوز مشاهده اسناد را ندارند یا در صورت نیاز نمی توانند مواردی را پیدا کنند. گزینه‌ها عبارتند از Github، یک ویکی، یا یک سایت داخلی، که تیم‌ها را به استفاده از اسناد تشویق می‌کند و اطلاعات را به طور گسترده قابل کشف می‌کند.

الگوسازی کنید
همانطور که در بالا ذکر شد، برای استانداردسازی مستندات خود، بهترین روش ایجاد یک الگوی پویا است که می تواند برای هر سرویس جدید پر شود و برای سرویس های موجود به روز شود.

در اینجا چند پیشنهاد برای داده ها و فراداده هایی که الگوی سند شما ممکن است شامل شود آورده شده است:

نام: به هر سرویس یک نام منحصر به فرد بدهید. توصیه می‌کنیم نام را با عملکرد سرویس تنظیم کنید، اما تیم‌ها معمولاً قراردادهای نام‌گذاری خاص خود را برای خدمات خود دارند. فقط مطمئن شوید که از همان نام دوباره استفاده نکنید.
توضیحات: توصیه می‌کنیم برای جستجوی آسان‌تر، توضیح مختصری از نقش سرویس اضافه کنید
قابلیت ها/عملکردهای تجاری: این سرویس بر اساس کدام عملکرد تجاری ساخته شده است. به عنوان مثال، اگر سرویس بخشی از یک برنامه تجارت الکترونیکی باشد، اگر کاتالوگ محصول، سبد خرید، پرداخت، اطلاعات تحویل و غیره را مدیریت می کند.
Service API: عملیات پیاده سازی شده توسط سرویس و رویدادهای دامنه منتشر شده توسط سرویس را تعریف می کند
کیفیت خدمات: همچنین به عنوان ویژگی های غیر عملکردی شناخته می شود، این ویژگی ها عبارتند از ویژگی های اصلی مانند امنیت، قابلیت اطمینان، عملکرد، قابلیت نگهداری، مقیاس پذیری و قابلیت استفاده.

اطلاعات مشاهده‌پذیری و نظارت: این شامل نقاط پایانی بررسی سلامت، معیارهای کلیدی، گزارش‌ها و ردیابی می‌شود (به‌ویژه اگر میکروسرویس‌های شما از پروتکل‌های پیام‌رسانی REST استفاده می‌کنند)
پیاده سازی: همچنین می تواند شامل پیاده سازی سرویس، مانند مدل دامنه آن باشد.
وابستگی ها: خدماتی که هر میکروسرویس به آنها تکیه می کند و قراردادهای سطح سرویس آنها (SLA).
Runbooks: اطلاعاتی در مورد نحوه رسیدگی به هر هشدار احتمالی که میکروسرویس می تواند ایجاد کند (به طور متناوب، این اطلاعات می تواند در یک پرسش متداول باشد)
اطلاعات تماس: چه تیمی/چه کسی روی این میکروسرویس کار می کند و بهترین راه برای تماس با آنها
راهنمای ورود: اگر تیم شما به سرعت در حال گسترش است، خلاصه کردن آنچه که یک توسعه‌دهنده جدید که روی سرویس کار می‌کند ممکن است نیاز داشته باشد به شما کمک کند.
برچسب ها (اطلاعات بیشتر در مورد آن در زیر)
شما می توانید با تعریف قالب خود در قالب قابل تجزیه استاندارد، اسناد خود را شارژ کنید. به عنوان مثال، YAML، JSON، یا سایر قالب‌های ساختاریافته می‌توانند به شما در اعمال کیفیت اسناد کمک کنند.

تگ، تگ، تگ
تیم‌های مهندسی ممکن است لزوماً به این روش فکر نکنند، اما برچسب‌گذاری و ساختار خوب نیز یک شکل کلیدی از مستندات هستند. این یک راه آسان برای جستجوی اطلاعات برای چیزی در همه ابزارها است.

می‌توانید از برچسب‌ها برای پیگیری همه چیزهایی که شما و دیگران در سازمانتان روی آن کار می‌کنید، استفاده کنید. به عنوان مثال، اگر همه چیز در Datadog از یک تگ استفاده می‌کند، یا گزارش‌ها از یک برچسب استفاده می‌کنند و غیره، می‌توانید اطلاعات را در دسته‌های بزرگ‌تر جستجو و پیدا کنید.

تا زمانی که برچسب‌های شما نیز استاندارد شده باشند، شما خوب هستید.

ابزارهای شخص ثالث را ادغام کنید
اطلاعات میزبانی شده در ابزارهای شخص ثالث را فراموش نکنید. شما باید تمام ابزارهای شخص ثالث را نیز به عنوان اسناد و مدارک در نظر بگیرید، و همچنین شیوه های استانداردی برای آنها داشته باشید.

خودکار (آنچه می توانید)
در صورت لزوم، اسناد را خودکار کنید. که جای کمتری برای خطای انسانی باقی می گذارد. علاوه بر این، یک ابزار منبع باز مانند Swagger می تواند به شما در مستندسازی و آزمایش API ها کمک کند.

به عنوان مثال، سایر ابزارهای خودکار حتی می توانند داده های زنده را به اسناد وارد کنند.

اینجاست که Cortex وارد می‌شود. ما می‌توانیم به مدیریت فرآیند مستندسازی کمک کنیم. چه در معماری میکروسرویس ها تازه کار باشید، چه مطمئن باشید که معماری میکروسرویس های موجود شما به بهترین شکل اجرا می شود، می خواهید اسناد خود را در بهترین شکل ممکن قرار دهید. کاتالوگ خدمات به‌روزرسانی خودکار Cortex به مهندسان دید جامعی را نسبت به تمام خدمات و اسناد مجاور می‌دهد. این ابزار با محبوب‌ترین ابزارهای مهندسی، از Azure DevOps گرفته تا GitLab، Kubernetes و Jira ادغام می‌شود و به تیم‌ها اجازه می‌دهد همه چیز را در مورد معماری خود درک کنند.

داشبورد کاربرپسند Cortex یافتن اسناد و کتابچه‌ها را آسان می‌کند، به تیم‌ها کمک می‌کند تا وابستگی‌ها و SLOها را درک کنند، و صاحبان و چرخش‌های حین تماس را شناسایی کنند.

  • sahar saha sql
  • ۰
  • ۰

میکروسرویس چیست؟
این یک سبک طراحی سیستم است که سیستم شما را به میکروسرویس های مستقل کوچک تبدیل می کند.

مزایای میکروسرویس
ساخت و نگهداری پروژه آسان تر است.
استقرارهای کوچکتر و سریعتر.
مقیاس پذیری بالا
تأثیر کم بر سایر خدمات با انزوا.
آزادی انتخاب تکنولوژی
بهبود بهره وری تیم و مزایای بیشتر
طراحی دامنه محور برای میکروسرویس ها
طراحی دامنه محور (DDD) - یک رویکرد طراحی که در آن دامنه کسب و کار به دقت در نرم‌افزار مدل‌سازی می‌شود و در طول زمان به طور مستقل تکامل می‌یابد. از آن برای ساخت سیستم هایی استفاده می شد که دامنه تجاری پیچیده ای داشتند.

ارتباطات میکروسرویس در Telar Social
جلوی سنکرون هر میکروسرویس یک Rest API است. مشتری یک درخواست ارسال می کند و منتظر پاسخ از طرف سرویس است. این مستقل از اجرای کد کلاینت است که می‌تواند همزمان (رشته مسدود شده است) یا ناهمزمان (رشته مسدود نشده است، و پاسخ در نهایت به یک فراخوان خواهد رسید). نکته مهم در اینجا این است که پروتکل (HTTP/HTTPS) همزمان است و کد کلاینت تنها زمانی می تواند کار خود را ادامه دهد که پاسخ سرور HTTP را دریافت کند.
صف پیام ناهمزمان در این سیستم، پیام ها در یک صف باقی می مانند. یک یا چند مصرف کننده می توانند پیام های موجود در صف را مصرف کنند، اما یک پیام خاص می تواند تنها توسط حداکثر یک مصرف کننده مصرف شود. هنگامی که یک مصرف کننده پیامی را در صف می خواند، از آن صف ناپدید می شود. اگر در زمان ارسال پیام هیچ مصرف کننده ای در دسترس نباشد، تا زمانی که مصرف کننده ای در دسترس باشد که بتواند پیام را پردازش کند، نگهداری می شود.
اشتراک انتشار ناهمزمان (نسخه سازمانی) در سیستم انتشار-اشتراک، پیام‌ها در یک موضوع باقی می‌مانند. مصرف کنندگان می توانند در یک یا چند موضوع مشترک شوند و تمام پیام های آن موضوع را مصرف کنند. در سیستم Publish-Subscribe به تولیدکنندگان پیام ناشر و مصرف کنندگان پیام مشترک می گویند.
معماری میکروسرویس اجتماعی Telar
در Telar Social به دنبال بهترین شیوه معماری، پیروی از این معماری:

ما می‌توانیم تیم‌های مختلفی با فناوری‌های مختلف، زبان برنامه‌نویسی متفاوت و بر اساس متفاوت داشته باشیم
ما می توانیم مقیاس خودکار را برای هر پایه میکروسرویس بر اساس معیارها (مانند ترافیک شبکه) پیکربندی کنیم تا برای آن میکروسریس خاص باشد. با این کار استفاده از منابع را بهینه کرده و هزینه را کاهش می دهیم.
در صورت خراب شدن یک میکروسرویس، سایر میکروسرویس ها به کار خود ادامه می دهند و به مشتریان خدمات ارائه می دهند.
Kubernetes بررسی های دوره ای وضعیت سلامت هر میکروسرویس را انجام می دهد. اگر یک میکروسرویس در یک بازه زمانی طولانی در بررسی های سلامت متوالی شکست بخورد، Kubernetes یک فرآیند تعمیر را برای آن میکروسرویس آغاز می کند.
یک میکروسرویس را بدون تأثیر بر سایر میکروسرویس ها تغییر دهید و نگهداری کنید.
هر پیکربندی miroservice به فایل پیکربندی متفاوتی جدا می شود که از طریق دایرکتوری پیکربندی از دایرکتوری ریشه پروژه قابل دسترسی است. به خصوص برای Enterprice می توانید از پایگاه داده های مختلف برای هر پایگاه میکروسرویس در دامنه کسب و کار خود استفاده کنید.
طراحی نسخه انجمن در Kubernetes

         <|> <|> Rest API <|> کاربران -> {User Authundefined User Profileundefined User Authentication}
         <|> <|> Rest API <|> Social -> {Circlesudefined User Relations}
         <|> <|> Rest API <|> Actions
         <|> <|> Rest API <|> Admin
 Client <|> API Gateway <|> Rest API <|> Posts
         <|> <|> Rest API <|> نظرات
         <|> <|> Rest API <|> رأی
         <|> <|> Rest API <|> گالری
         <|> <|> Rest API <|> اعلان‌ها
         <|> <|> Rest API <|> Storage
ارتباط

Client یک درخواست همزمان به API Gateway ارسال کنید و منتظر پاسخ میکروسرویس باشید.
Client/Microservice یک درخواست ناهمزمان به API Gateway ارسال کنید و در صف قرار دهید. در این روش کاربر دیگر منتظر پاسخ نمی ماند. پس از اتمام میکروسرویس، کار با Action microservice (یا سایر میکروسرویس ها) تماس می گیرد. Action microservice اقدام مناسب را برای به روز رسانی رابط کاربری به توزیع کننده UI ارسال می کند. (برای کسب اطلاعات بیشتر در مورد Action Microservice، الگوی شار برای تعامل سرور و کلاینت را در مقاله Telar Social بخوانید)
طراحی نسخه Enterprise در Kubernetes

         <|> <|> Rest API <|> کاربران {User Authundefined User Profileundefined User Authentication}
         <|> <|> Rest API <|> اجتماعی {Circlesudefined User Relations}
         <|> <|> Rest API <|> Admin
         <|> API Gateway <|> Rest API <|> پست ها
  Client <|> <|> Rest API <|> نظرات
         <|> <|> Rest API <|> رأی
         <|> <|> Rest API <|> گالری
         <|> <|> Rest API <|> اعلان‌ها
         <|> <|> Rest API <|> Storage

<|> <|> پایگاه داده
<|> <|> پایگاه داده
<|> <|> پایگاه داده
<|> <|> پایگاه داده
<|> Action Pub/Sub <|> پایگاه داده
<|> (کارگزار پیام) <|> پایگاه داده
<|> <|> پایگاه داده
<|> <|> پایگاه داده
<|> <|> پایگاه داده
Communication For Enterprise Edition، علاوه بر ارتباطات نسخه Community، Pub/Sub را با استفاده از Kafka ارائه کردیم. میکروسرویس ها مشترک موضوعات کافکا می شوند و زمانی که پیامی دریافت می شود، تابع برای مدیریت پیام اجرا می شود. در این الگو می توان یک پیام را با چندین توابع به طور همزمان مصرف کرد.
ساختار دایرکتوری (سمت سرور)
هسته: شامل عملیات اصلی در Telar Social. ما src/core را به عنوان پایدارترین لایه ای که سایر لایه ها به طور مشترک استفاده می کنند، نگه می داریم.

کنترلر: کنترلر هر درخواست ورودی از API Gateway را مدیریت می کند. کنترل‌کننده‌هایی شامل توابعی به نام handler که درخواست‌های مرورگر ورودی را مدیریت می‌کند، داده‌های مدل لازم را بازیابی می‌کند و پاسخ‌های مناسب را برمی‌گرداند.

خدمات: عملیات داده را در دامنه خود انجام دهید.

وب: از جمله ظاهر Telar Social با استفاده از ReactJS.

دایرکتوری ریشه
├── src
│ ├── هسته
پیکربندی │ │ ├──
│ │ ├── داده
│ │ │ ├── Client-DB
│ │ │ └── ...
سرور │ │ ├──
│ │ ├── Utils
│ │ └── ...
دامنه │ ├──
│ │ ├── domain-name-1
│ │ ├── domain-name-2
│ │ │ ├── زیر دامنه-1
│ │ │ ├── زیر دامنه-2
│ │ │ └── ...
│ │ └── ...
│ ├── ثابت
│ ├── کنترلرها
│ │ ├── domain-name-1
│ │ │ ├── گردانندگان
پیکربندی │ │ │ ├──
│ │ │ └── فروشنده
│ │ ├── domain-name-2
│ │ │ ├── زیر دامنه-1
│ │ │ │ ├── کنترل کننده
پیکربندی │ │ │ │ ├──
│ │ │ │ └── فروشنده
│ │ │ ├── زیر دامنه-2
│ │ │ │ ├── کنترل کننده
پیکربندی │ │ │ │ ├──
│ │ │ │ └── فروشنده
│ │ │ └── ...
│ │ └── ...
│ ├── مدل
│ │ ├── domain-name-1
│ │ ├── domain-name-2
│ │ │ ├── زیر دامنه-1
│ │ │ ├── زیر دامنه-2
│ │ │ └── ...
│ │ └── ...
│ ├── خدمات
│ │ ├── domain-name-1
│ │ ├── domain-name-2
│ │ │ ├── زیر دامنه-1
│ │ │ ├── زیر دامنه-2
│ │ │ └── ...
│ │ └── ...
│ └── وب
│ ├── ts-front-end
│ └── ts-ui
پیکربندی │──
└── زمین بازی
در ابتدا در Medium منتشر شد.

  • sahar saha sql
  • ۰
  • ۰

در اینجا برداشت سریع من از آنچه معماری مبتنی بر Microservice به ما ارائه می دهد و چگونگی پیشرفت به سمت آن است. میکروسرویس ها در درجه اول سه ویژگی اصلی مطلوب یک سیستم را معرفی می کنند.

سرعت - با چه سرعتی می توان تغییرات/ویژگی ها را پیاده سازی کرد
ایمنی - توانایی ایجاد تغییرات با ریسک کمتر
مقیاس - توانایی تحمل حجم کار زیاد
بالاتر از سه ویژگی معمار Microservice، آن را برای نیازهای محاسباتی موجود اکثر پلتفرم های امروزی بسیار مطلوب می کند.
اجرای یک میکروسرویس همچنین مزایای ذکر شده در زیر را به همراه دارد.

وابستگی کمتر به تیم های خارجی/دیگر. از آنجایی که هر MS به تنهایی به عنوان یک واحد است، می تواند به گونه ای طراحی شود که تحمل خطا داشته باشد. به بسیاری از پروژه ها اجازه می دهد تا همزمان اجرا شوند. پشتیبانی از پیاده سازی چند پلت فرم. توسعه دهندگان/طراحان می توانند فناوری را انتخاب کنند که برای هر نوع کار بهترین است و نیازی به داشتن یک فناوری واحد در همه اجزا نیست. (مانند یک معماری یکپارچه) کنترل دقیق‌تری بر هر سرویس و نمونه آن امکان تخریب/جایگزینی دانه‌بندی یک سرویس را فراهم می‌کند. دیگر نیازی به تغییر/تاثیرگذاری روی سرویس‌هایی نیست که به هر حال نیازی به تغییر ندارند، زیرا بخشی از یک برنامه/پلتفرم بزرگ‌تر هستند. در جامعه توسعه‌دهنده، نوآوری را ترویج می‌کند زیرا می‌توان تصمیم‌های محلی اتخاذ کرد. هر سرویس را می‌توان با ویژگی‌های مهم تنظیم کرد. برخی می‌توانند در دسترس بودن بالاتری داشته باشند، برخی را می‌توان برای سرعت اجرای بالاتر تنظیم کرد و غیره. دیگر نیازی به قبول ریسک بزرگ در یک عرضه/پیاده‌سازی بزرگ نیست. هر چقدر هم که عجیب به نظر برسد، بهتر است ابتدا یک مونولیت بسازید. بنابراین برای ما که قبلاً آن را به شکل یک پلتفرم قدیمی در محل داریم.. این کار قبلاً انجام شده است. :)

هنگام هدف توسعه میکروسرویس، عوامل زیر را در نظر بگیرید

راه حل - تصویر بزرگ
خدمات - مهره و پیچ و مهره
فرآیند و ابزار
فرهنگ کار
پشتیبانی و اهرم های سازمانی
مسیر از Monolith به یک پلت فرم مبتنی بر میکروسرویس یک مکالمه یک شات نیست. خیلی بهتر است این کار را در حالت تکرار شونده انجام دهید، نیازهای بهینه سازی را شناسایی کنید، اصول حاکم را توسعه دهید و روی آن تکرار کنید. نتیجه اجرای چنین قطعه کوچکی را مشاهده کنید و آن را اصلاح و تنظیم کنید. به این ترتیب یک برنامه یکپارچه موجود می تواند حذف شود و می تواند راه را برای یک پلت فرم میکروسرویس پایدارتر و کارآمدتر ایجاد کند.

  • sahar saha sql