Choosing Technologies
که پیشنهاد میکنم حتما مطالعه کنید.
بعد فهمیدیم استفاده از مایکروسرویسها چالشهای زیادی داره.از مهمترینهاش اینه که نیاز به مانیتورینگ و مدیریت سرویسها مخصوصا وقتی که تعداد سرویسها زیاد باشه وجود داره. بعلاوه نیازه که یه سیستم لاگگرفتن متمرکز وجود داشته باشه. یکی از موضوعات مطرح دیگه این هست که تدابیر مورد نیاز برای وقتی که لود سیستم بالا میره برای scaling مخصوصا vertical scaling و همینظور load balancing داشته باشیم.همه اینها برای اینه که کل مجموعه down time کمی داشته باشه و در صورت down شدن یک سرویس بتونیم سریع متوجه بشیم و علت رو پیدا و برطرف کنیم.
بعد از اون رفتیم دنبال تکنولوژیها و ابزارهای موجود برای برآوردن این اهداف گشتیم. تعداد زیادی رو بررسی کردیم. خیلی از ابزارها نیاز به پرداخت هزینه و … داشتن و خیلیها هم همه چیزهایی که ما میخواستیم رو نداشتن. تا این که بعد از بررسی، امتحان و جستجوی فراوان تصمیم گرفتیم از این سه تا ابزار که اتفاقا open source هم هستند استفاده کنیم :
Docker + Kubernetes + Prometheus
که هرکدوم مزایایی داشتن و با هم به خوبی match میشدند و تقریبا در کنار هم مواردی که ما مدنظرمون بود (و حتی مدنظرمون نبود D: ) رو فراهم میکردند.
در پست بعدی در مورد اینکه هرکدومو چجوری بالا آوردیم صحبت میکنم.