Modular Applicatoin Containers
الگوی sidecar به ما این اجازه رو میده که بتونیم یک سری modular container داشته باشیم که در سرویس های مختلف ازشون استفاده کنیم.
مثلا تصور کنید که شما میخواید برای همه سرویس های زیرساخت تون عملکرد پروسه هارو مانیتور کنید و مصرف منابع رو مشاهده کنید.
یک راهش اینه که همه سرویس هایی که ممکنه به زبان های مختلفی هم توسعه داده شده رو آپدیت کنید و برای همه اون ها یک مسیر /topz اضافه کنید که با فراخوانیش میشه منابع اون پروسه رو مانیتور کرد. که خب این راه حل نیاز داره همه سرویس ها بروزرسانی بشن که خیلی کار سختیه و همچنین اساسا خیلی از زبان ها محدودیت دارن در بدست آوردن چنین اطلاعاتی و خروجی همه اون سرویس ها یکسان نمیشه.
الگوی sidecar این ایده رو میده که ما یه sidecar container داشته باشیم که از PID namespace یکسانی با container اصلی برخوردار هست و تمامی اطلاعات پروسه های container اصلی رو میتونه ببینه، اینطوری ما با فقط نوشتن یک کانتینر ساده میتونیم بصورت ماژولار همه سرویس هامون رو ارتقا بدیم و از مانیتورینگ منابعشون لذت ببریم.
حتی modularity این امکان رو میده که ما دیگه نیاز نداشته باشیم توسعه بدیم و از community و دنیای open-source کمک بگیریم. مثلا در مورد همین /topz میشه از این ایمیج استفاده کرد..
docker run --pidcontainer:${APP_ID} -p 8080:8080 brendanburns/topz:db0fa58 /server --address=0.0.0.0:8080
@gocasts
#designing_distributed_systems_brendan_burns
Post #22
740
Go Casts | Systems & Agents 🚀 به عنوان مثال تصور کنید یه legacy application دارید که سال ها پیش توسعه اون تموم شده و همچنان داره کار میکنه، اما فقط http رو پشتیبانی میکنه، و حالا شرکت تصمیم گرفته که به دلایل امنیتی همه سرویس هاشو بصورت https ارائه بده برای برطرف کردن این موضوع دو تا راه…
- 👍 1