Microservices Philosophy, Why they're here and Why they're hard to make?
Microservices are the rockstars of modern software architecture. Everyone talks about them, everyone wants them—but few fully understand what it takes to make them work. They’ve earned their hype, but they’re not the magic wand people often think they are. If you’ve ever wondered why they exist or why they can turn into a giant headache, buckle up. Let’s unpack this together.
📄Continue reading the blog post
Microservices are the rockstars of modern software architecture. Everyone talks about them, everyone wants them—but few fully understand what it takes to make them work. They’ve earned their hype, but they’re not the magic wand people often think they are. If you’ve ever wondered why they exist or why they can turn into a giant headache, buckle up. Let’s unpack this together.
📄Continue reading the blog post
🔥6
Boundaries, Boundaries, Boundaries Pt.1
When we get into microservices, we’re really talking about something beyond just splitting a monolith into smaller parts. We’re talking about deliberately designing boundaries—where each piece of your system starts and ends, how they talk to each other, and how you keep one team’s changes from upending the rest of your ecosystem. Good boundaries are what separate truly scalable, maintainable architectures from thinly disguised “distributed monoliths.”
If you’ve seen microservice initiatives that end up as giant balls of mud—just spread out across the network—you know what I mean. We want to avoid that at all costs. In this deep dive, we’ll tackle four core concepts that set the foundation for truly robust microservice systems: Encapsulation, Module Connections, Cohesion, and Coupling.
📄Continue reading the blog post
When we get into microservices, we’re really talking about something beyond just splitting a monolith into smaller parts. We’re talking about deliberately designing boundaries—where each piece of your system starts and ends, how they talk to each other, and how you keep one team’s changes from upending the rest of your ecosystem. Good boundaries are what separate truly scalable, maintainable architectures from thinly disguised “distributed monoliths.”
If you’ve seen microservice initiatives that end up as giant balls of mud—just spread out across the network—you know what I mean. We want to avoid that at all costs. In this deep dive, we’ll tackle four core concepts that set the foundation for truly robust microservice systems: Encapsulation, Module Connections, Cohesion, and Coupling.
📄Continue reading the blog post
🔥4🤔1
Forwarded from tech-afternoon (Amin Mesbahi)
مفهوم Resiliency یا تابآوری، به توانایی یک سیستم برای بازیابی شرایط پایدار در صورت بروز خطا گفته میشه. حالا این بازیابی میتونی تلاش برای بازیابی باشه، یا انتخاب راه جایگزین. مثل اینکه شما ۲ بار تلاش میکنی از API آبوهوا مقدار دمای فعلی یک منطقه رو بگیری، هر بار با فاصله زمانی ۵ ثانیه API رو صدا میزنی ولی بعد از اینکه پاسخ موفق نمیگیری (تا اینجا به این میگن استراتژی retry) بعد تصمیم میگیری از cache آخرین مقداری که کمتر از ۵ ساعت گذشته وجود داشته رو استفاده کنی که فعلا کار راه بیوفته (استراتژی fallback) یا ... به هر کدوم از این رفتارها برای تداوم کار و مقابله با موانع، میگن resiliency strategy.
کتابخونه Polly محبوبترین در بین داتنتیهاست. و تو دل Aspire هم ازش استفاده شده، برای درک بهتر ویدیوی Aspire که به زودی پابلیش میشه، خوبه یه مرور روی انواع استراتژیها کنیم...
—————————
دو گروه اصلی داریم:
وقتی به کار میرن که یک خطا یا مشکلی رخ داده و سیستم باید به شکلی واکنش نشون بده.
فرضیه: خطاها موقتی هستن و ممکنه با کمی تأخیر و تلاش مجدد برطرف بشن.
در این استراتژی، سیستم تلاش میکنه که یک عملیات ناموفق رو بعد از یک بازهی زمانی مشخص دوباره امتحان کنه. این بازه زمانی میتونه ثابت یا متغیر باشه (مثل Exponential Backoff). مثلاً اگر سرور موقتی قطع شده باشه، با چند بار Retry ممکنه مشکل حل بشه. در Polly، این با “Retry Policy” قابل پیادهسازی است. و تعداد دفعات و بازه زمانی بین هر تلاش به تصمیم ما وابسته است.
فرضیه: وقتی سیستم به شدت دچار مشکل میشه، بهتره سریعاً فرآیندها متوقف بشن به جای اینکه کاربران منتظر بمونن.
چطور کمک میکنه؟ مدار رو قطع میکنه (اجرای درخواستها رو متوقف میکنه) در زمانی که خطاها از حدی مشخص بیشتر میشن (مثل وقتی میفرسته به صف ولی هِی روی هم انباشت میشه و از اون طرف پردازش نمیشن)
شبیه به فیوز برق که اگر بیش از حد فشار وارد بشه، مدار رو قطع میکنه. این استراتژی به سیستم اجازه میده برای مدتی مشخص درخواستها رو به مقصد ارسال نکنه تا از خرابیهای بیشتر جلوگیری بشه. مثلاً در Polly میتونید مدتزمانی که Circuit باز میمونه و شرایط بازگشت به حالت نرمال رو تنظیم کنیم.
فرضیه: خطا تداوم خواهد داشت؛ پس برای پلن B برنامهریزی میکنیم.
چطوری کمک میکنه؟ یک مقدار یا راه حل جایگزین در صورت بروز یا تداوم خطا ارائه میده.
وقتی یک عملیات شکست میخوره، به جای نمایش خطا به کاربر، یک نتیجه جایگزین برمیگرده. مثلاً به جای اینکه پیام “سرور API در دسترس نیست” نمایش داده بشه، میتونید یک مقدار ذخیره شده از کش رو ارائه بدید.
فرضیه: گاهی اوقات برخی مسیرها شاید کند یا حتی ناموفق باشن؛ پس بهتره چندین راه برای رسیدن به هدف در نظر بگیریم، هر کدوم زودتر جواب داد، همون.
چطوری کمک میکنه؟ برای یک کار، چند راه رو تلاش میکنه به طور موازی پی بگیره و منتظر اولین پاسخ موفق میمونه.
در این استراتژی، همزمان چند درخواست به چند مقصد مختلف ارسال میشه و اولین پاسخ موفق به عنوان نتیجه پذیرفته میشه. این کار برای کاهش زمان انتظار و بهبود اطمینانپذیری استفاده میشه.
این استراتژیها برای پیشگیری از بروز مشکلات در سیستم طراحی شدهاند.
فرضیه: بعد از مدت زمانی مشخص، موفقیت بعیده.
چطوری کمک میکنه؟ تضمین میکنه که درخواستها بیشتر از زمان مشخص منتظر نمیمونن.
در این استراتژی، زمان محدودی برای انجام یک عملیات در نظر گرفته میشه. اگر عملیات در این زمان به نتیجه نرسید، سیستم اون رو قطع میکنه. این کار مانع از این میشه که یک درخواست معلق منابع سیستم رو اشغال کنه.
فرضیه: محدود کردن تعداد درخواستهایی که سیستم در یک بازه زمانی مشخص میپذیره (راهی برای کنترل بار ورودی).
چطوری کمک میکنه؟ اجرای درخواستها رو محدود میکنه تا از حد مشخصی فراتر نره.
برای جلوگیری از بار زیاد روی سیستم، این استراتژی تعداد درخواستها در یک بازه زمانی مشخص رو محدود میکنه. مثلاً اگر کاربران زیادی همزمان به سیستم درخواست بفرستن، Rate Limiter میتونه از خرابی جلوگیری کنه.
—————————
ما میتونیم از یک یا ترکیبی از چند استراتژی برای افزایش تابآوری سیستمهامون استفاده کنیم.
🔗 رفرنس جهت مطالعه عمیقتر
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
Forwarded from Learning With M (Masoud DaneshPour)
جمله روز
- Stephen Hawking
The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.
- Stephen Hawking
🔥5❤1
Forwarded from دانش، آگاهی
هنوز در روش استنتاج o1 شگفتزده بودیم که
امروز OpenAI نسخهی o3 رو معرفی کرد.
برای توصیف فقط میتونم بگم وحشتناک هست عملکردش و حقیقتا میشه گفت خیلی به AGI نزدیک شده.
در جامجمشید خبرهای مربوط به عملکردش رو ببینید...
واقعا هیولایی است عجیب...
@daneshagahi
امروز OpenAI نسخهی o3 رو معرفی کرد.
برای توصیف فقط میتونم بگم وحشتناک هست عملکردش و حقیقتا میشه گفت خیلی به AGI نزدیک شده.
در جامجمشید خبرهای مربوط به عملکردش رو ببینید...
واقعا هیولایی است عجیب...
@daneshagahi
🔥6
Forwarded from Science For Life (Alireza Nazari)
اگر هزار نامه که روی هر کدام یک آدرس نوشته شده را با هزار پاکت که روی آنها هم آدرس نوشته شده، کاملاً قاطی کنیم و بعد به صورت شانسی هر نامه را داخل یک پاکت بگذاریم، تقریباً ۶۳ درصد احتمال دارد که حداقل یک نامه داخل پاکت درست خودش قرار بگیرد.
@science4lifee
@science4lifee
❤4🔥2👍1
Forwarded from Science For Life (Alireza Nazari)
Science For Life
اگر هزار نامه که روی هر کدام یک آدرس نوشته شده را با هزار پاکت که روی آنها هم آدرس نوشته شده، کاملاً قاطی کنیم و بعد به صورت شانسی هر نامه را داخل یک پاکت بگذاریم، تقریباً ۶۳ درصد احتمال دارد که حداقل یک نامه داخل پاکت درست خودش قرار بگیرد. @science4lifee
یا اینکه دو دست ورق را که خیلی خوب بُر زده شدهاند را در نظر بگیرید. اگر کارتهای این دو دسته را همزمان و یکی یکی رو کنیم (یعنی کارت اول از دسته اول را با کارت اول از دسته دوم، کارت دوم از دسته اول را با کارت دوم از دسته دوم و همینطور تا آخر مقایسه کنیم)، چه احتمالی وجود دارد که حداقل یک بار، دو کارت کاملاً یکسان (مثلاً هر دو کارت بیبی خاج باشند) با هم رو شوند؟ جواب باز هم حدود ۶۳ درصد است.
@science4lifee
@science4lifee
❤5🔥2
کوتاه درمورد AI
فرض کنیم که ما به نقطه ای رسیدیم که AI توانایی حل هرگونه مسئله ای را در حوزه نرم افزار داشت!
در چنین زمانی، چه کسی مسئول تعریف مسئله خواهد بود؟
چه کسی مسئول جمع اوری اطلاعات و داده برای درک بهتر نیاز های سازمان؟
و هزاران مسئله ارتباطی دیگه...
یکمی زود نیست برای کنار رفتن از بازی؟
فرض کنیم که ما به نقطه ای رسیدیم که AI توانایی حل هرگونه مسئله ای را در حوزه نرم افزار داشت!
در چنین زمانی، چه کسی مسئول تعریف مسئله خواهد بود؟
چه کسی مسئول جمع اوری اطلاعات و داده برای درک بهتر نیاز های سازمان؟
و هزاران مسئله ارتباطی دیگه...
یکمی زود نیست برای کنار رفتن از بازی؟
❤5🔥1
Forwarded from دانش، آگاهی
Media is too big
VIEW IN TELEGRAM
Unitree B2-W Talent
خیلی تحقیق کردم که بتونم بگم ساختگی هستش(ولی هنوز نتونستم)، هرچند که این شرکت سابقهی زیادی تو این حوزه داره ولی واقعا باور کردنی نیست برام این توانایی.
ترجیح میدم باور داشته باشم که ساختگی هستش😐🫠
@daneshagahi
خیلی تحقیق کردم که بتونم بگم ساختگی هستش(ولی هنوز نتونستم)، هرچند که این شرکت سابقهی زیادی تو این حوزه داره ولی واقعا باور کردنی نیست برام این توانایی.
ترجیح میدم باور داشته باشم که ساختگی هستش😐🫠
@daneshagahi
🔥4
Forwarded from پیام اقتصاد
🔴فوری/ واتساپ و گوگلپلی رفع فیلتر شدند
🔹با رای مثبت اعضای شورای عالی فضای مجازی، فیلتر واتساپ و گوگلپلی رسما برداشته شد. این تصمیم با اجماع آرا اتخاذ شده است./ ایرنا
پیام اقتصاد
🌐https://payameeghtesadonline.ir
🆔@payame_eghtesad
🔹با رای مثبت اعضای شورای عالی فضای مجازی، فیلتر واتساپ و گوگلپلی رسما برداشته شد. این تصمیم با اجماع آرا اتخاذ شده است./ ایرنا
پیام اقتصاد
🌐https://payameeghtesadonline.ir
🆔@payame_eghtesad
🤣5🔥1
Forwarded from Science Magazine
چای کیسه ای میلیون ها ذره میکروپلاستیک آزاد و وارد سلول های روده انسان میکند
تحقیقات UAB با جزئیات مشخص کرده است که چگونه کیسههای چای تجاری مبتنی بر پلیمر، میلیونها نانوپلاستیک و میکروپلاستیک را هنگام تزریق آزاد میکنند. این مطالعه برای اولین بار ظرفیت این ذرات را نشان می دهد که توسط سلول های روده انسان جذب می شوند و بنابراین می توانند به جریان خون برسند و در سراسر بدن پخش شوند.
آلودگی زباله های پلاستیکی یک چالش زیست محیطی حیاتی با پیامدهای فزاینده برای رفاه و سلامت نسل های آینده است. بسته بندی مواد غذایی منبع اصلی آلودگی میکرو و نانوپلاستیک (MNPLs) است و استنشاق و بلع مسیر اصلی قرار گرفتن در معرض انسان است.
مطالعهای که توسط گروه جهشزایی از دپارتمان ژنتیک و میکروبیولوژی UAB انجام شد ، میکرو و نانوپلاستیکهای مشتقشده از چندین نوع چای کیسهای تجاری را با موفقیت به دست آورد و مشخص کرد. این مقاله در مجله Chemosphere منتشر شده است .
محققان UAB مشاهده کردند که وقتی از این کیسه های چای برای تهیه دمنوش استفاده می شود، مقادیر زیادی ذرات در اندازه نانو و ساختارهای نانورشته ای آزاد می شوند که منبع مهمی برای قرار گرفتن در معرض MNPL ها است.
کیسه های چای مورد استفاده برای این تحقیق از پلیمرهای نایلون-6، پلی پروپیلن و سلولز ساخته شده اند. این مطالعه نشان می دهد که هنگام دم کردن چای، پلی پروپیلن تقریباً 1.2 میلیارد ذره در هر میلی لیتر با اندازه متوسط 136.7 نانومتر آزاد می کند. سلولز حدود 135 میلیون ذره در میلی لیتر با اندازه متوسط 244 نانومتر آزاد می کند. در حالی که نایلون-6 8.18 میلیون ذره در هر میلی لیتر با اندازه متوسط 138.4 نانومتر آزاد می کند.
برای توصیف انواع مختلف ذرات موجود در تزریق، مجموعه ای از تکنیک های تحلیلی پیشرفته مانند میکروسکوپ الکترونی روبشی (SEM)، میکروسکوپ الکترونی عبوری (TEM)، طیف سنجی مادون قرمز (ATR-FTIR)، پراکندگی نور دینامیکی (DLS)، لیزر سرعت سنجی داپلر (LDV) و آنالیز ردیابی نانوذرات (NTA) استفاده شد.
آلبا گارسیا، محقق UAB، گفت: «ما موفق شدهایم این آلایندهها را با مجموعهای از تکنیکهای پیشرفته که ابزار بسیار مهمی برای پیشبرد تحقیقات در مورد تأثیرات احتمالی آنها بر سلامت انسان است، بهطور خلاقانه مشخص کنیم.
✅ Source
🆔 Science Magazine
تحقیقات UAB با جزئیات مشخص کرده است که چگونه کیسههای چای تجاری مبتنی بر پلیمر، میلیونها نانوپلاستیک و میکروپلاستیک را هنگام تزریق آزاد میکنند. این مطالعه برای اولین بار ظرفیت این ذرات را نشان می دهد که توسط سلول های روده انسان جذب می شوند و بنابراین می توانند به جریان خون برسند و در سراسر بدن پخش شوند.
آلودگی زباله های پلاستیکی یک چالش زیست محیطی حیاتی با پیامدهای فزاینده برای رفاه و سلامت نسل های آینده است. بسته بندی مواد غذایی منبع اصلی آلودگی میکرو و نانوپلاستیک (MNPLs) است و استنشاق و بلع مسیر اصلی قرار گرفتن در معرض انسان است.
مطالعهای که توسط گروه جهشزایی از دپارتمان ژنتیک و میکروبیولوژی UAB انجام شد ، میکرو و نانوپلاستیکهای مشتقشده از چندین نوع چای کیسهای تجاری را با موفقیت به دست آورد و مشخص کرد. این مقاله در مجله Chemosphere منتشر شده است .
محققان UAB مشاهده کردند که وقتی از این کیسه های چای برای تهیه دمنوش استفاده می شود، مقادیر زیادی ذرات در اندازه نانو و ساختارهای نانورشته ای آزاد می شوند که منبع مهمی برای قرار گرفتن در معرض MNPL ها است.
کیسه های چای مورد استفاده برای این تحقیق از پلیمرهای نایلون-6، پلی پروپیلن و سلولز ساخته شده اند. این مطالعه نشان می دهد که هنگام دم کردن چای، پلی پروپیلن تقریباً 1.2 میلیارد ذره در هر میلی لیتر با اندازه متوسط 136.7 نانومتر آزاد می کند. سلولز حدود 135 میلیون ذره در میلی لیتر با اندازه متوسط 244 نانومتر آزاد می کند. در حالی که نایلون-6 8.18 میلیون ذره در هر میلی لیتر با اندازه متوسط 138.4 نانومتر آزاد می کند.
برای توصیف انواع مختلف ذرات موجود در تزریق، مجموعه ای از تکنیک های تحلیلی پیشرفته مانند میکروسکوپ الکترونی روبشی (SEM)، میکروسکوپ الکترونی عبوری (TEM)، طیف سنجی مادون قرمز (ATR-FTIR)، پراکندگی نور دینامیکی (DLS)، لیزر سرعت سنجی داپلر (LDV) و آنالیز ردیابی نانوذرات (NTA) استفاده شد.
آلبا گارسیا، محقق UAB، گفت: «ما موفق شدهایم این آلایندهها را با مجموعهای از تکنیکهای پیشرفته که ابزار بسیار مهمی برای پیشبرد تحقیقات در مورد تأثیرات احتمالی آنها بر سلامت انسان است، بهطور خلاقانه مشخص کنیم.
✅ Source
🆔 Science Magazine
Medicalxpress
Commercial tea bags release millions of microplastics, entering human intestinal cells
UAB research has characterized in detail how polymer-based commercial tea bags release millions of nanoplastics and microplastics when infused. The study shows for the first time the capacity of these ...
🔥6
A Year in Code!
Grateful for a year of growth, learning, and building with code. Excited to see what 2025 brings! 🚀
#YearInCode #CodingJourney
Grateful for a year of growth, learning, and building with code. Excited to see what 2025 brings! 🚀
#YearInCode #CodingJourney
🔥8