کتاب های برچسب Distributed Systems
تاریخ: 1401/04/05 07:09
توسط: MotoMan
امتیاز: ۰

هیچ تصمیم آسانی در معماری نرم افزار وجود ندارد. در عوض، بخش‌های سخت بسیاری وجود دارد؛ مشکلات یا مسائل دشواری که بهترین شیوه ای برای انجام ندارند و شما را مجبور می‌کنند تا با انجام سبک سنگین‌های مختلف، یکی را برای موفقیت انتخاب کنید. با کمک کتاب Software Architecture: The Hard Parts (معماری نرم افزار: قسمت‌های سخت)، شما یاد خواهید گرفت که چگونه به طور انتقادی در مورد سبک سنگین‌های مربوط به معماری‌های توزیع شده فکر کنید.

پیشکسوتان معماری و مشاوران مجرب، نیل فورد، مارک ریچاردز، پرامود سادالاژ و ژامک دهقانی، درباره راهبردهای انتخاب یک معماری مناسب بحث می‌کنند. نویسندگان با سر هم کردن داستانی درباره یک گروه خیالی از متخصصان فناوری - جوخه Sysops - همه چیز را از نحوه تعیین جزئیات سرویس، مدیریت گردش کار و هماهنگ سازی، مدیریت و جداسازی قراردادها و مدیریت تراکنش‌های توزیع شده تا نحوه بهینه سازی ویژگی‌های عملیاتی، مانند مقیاس پذیری، کشش و عملکرد را مورد بررسی قرار می‌دهند.

این کتاب با تمرکز بر سوالات متداول، تکنیک‌هایی را ارائه می‌کند که به شما کمک می‌کند تا هنگام مواجهه با مسائلی که به عنوان یک معمار با آن مواجه هستید، سبک سنگین‌ها را انجام دهید و بررسی کنید.

 
تعداد بازدید: ۳۵۹
دیدگاه ها: ۰
تاریخ: 1401/04/01 21:46
توسط: MotoMan
امتیاز: ۰
برچسب ها: Microservice |Distributed Systems |

کتاب Introducing Distributed Application Runtime (Dapr) (معرفی رانتایم برنامه توزیع شده، دپر)، درباره یادگیری Dapr است که یک runtime جدید مبتنی بر رویداد از مایکروسافت است که برای کمک به توسعه دهندگان در ساخت برنامه‌های مبتنی بر میکروسرویس طراحی شده است که از زبان‌ها و چارچوب هایی که در همه جا اجرا می‌شوند چه در محل، چه در فضای ابری و حتی روی لبه استفاده می‌کند.
یکی از محبوب‌ترین الگوهای معماری برای اجرای راه حل‌های بزرگ، پیچیده و توزیع شده، سبک معماری میکروسرویس است. از آنجایی که این راهکار‌ها از سرویس‌های مبتنی بر زبان‌ها، چارچوب‌ها و پلتفرم‌های مختلفی تشکیل شده‌اند، هرچه یک برنامه پیچیده‌تر و جزئی‌تر شود، برنامه‌نویس باید ملاحظات بیشتری را در نظر داشته باشد، که در بیشتر مواقع ثابت می‌شود که این کار دشواری است.
کتاب معرفی runtime برنامه توزیع شده (Dapr)، راهنمای شما برای دستیابی بیشتر از طریق الگو‌های کمتر است. بخش اول کتاب در مورد درک میکروسرویس‌ها و راه اندازی و اجرا با Dapr، چه در ماشین شما یا در هر خوشه‌ی Kubernetes است. از آنجا، با مفاهیم Dapr، نحوه کارکرد آن و آنچه که می‌تواند برای شما انجام دهد آشنا می‌شوید. این بخش با راه‌های مختلفی برای اشکال‌زدایی برنامه‌های Dapr با استفاده از ویژوال استودیو کد به صورت محلی، در داخل یک کانتینر یا Kubernetes به پایان می‌رسد. در قسمت دوم، شما به سراغ الگو‌ها و شیوه‌های قابل استفاده مجدد و بخش‌های اساسی Dapr خواهید رفت. شما از فراخوانی سرویس، انتشار و اشتراک، مدیریت وضعیت، اتصال منابع و مدل Actor به سراغ راز‌ها خواهید رفت؛ که هر بخش اساسی با جزئیات در فصل اختصاصی خود پوشش داده شده است. شما یاد خواهید گرفت که Dapr از منظر عملکردی چه چیزی ارائه می‌دهد و همچنین چگونه می‌توانید از سه ستون مشاهده پذیری (لاگ ها، متریک‌ها و ردیابی ها) استفاده کنید تا بینشی از برنامه‌های خود به دست آورید. . در قسمت سوم، مفاهیم پیشرفته‌ای از جمله استفاده از خطوط لوله میان‌افزار، ادغام Dapr در چارچوب‌های وب مانند ASP.NET Core، یا رانتایم‌های Azure Logic Apps و Azure Functions را بررسی خواهید کرد.
این کتاب دارای مجموعه‌ای از مثال‌های چندگانه است که نه تنها API ساده Dapr، بلکه .NET SDK را نیز پوشش می‌دهد. از این رو، بیشتر مثال‌ها در دات نت 5، به همراه تعداد کمی در جاوا اسکریپت برای با مثال نشان دادن استفاده از چندین زبان هستند. مثال‌ها به شما نشان می‌دهند که چگونه می‌توانید از Dapr برای استفاده ایمن از سرویس‌های مختلف در Microsoft Azure استفاده کنید، از جمله خدمات Azure Kubernetes، Azure Storage، Azure Service Bus، Azure Event Grid، Azure Key Vault، Azure Monitor، و Azure Active Directory.

 

تعداد بازدید: ۲۸۱
دیدگاه ها: ۰
تاریخ: 1401/01/17 21:48
توسط: MotoMan
امتیاز: ۱
برچسب ها: Design Patterns |Distributed Systems |

کتاب The Art of Immutable Architecture (هنر معماری تغییرناپذیر)، به شما می‌آموزد که چگونه یک سیستم توزیع شده را از منظر اشیا تغییرناپذیر ارزیابی کنید. در این کتاب، شما مشکلات در طراحی‌های موجود را درک خواهید کرد و چگونگی ایجاد اصلاحات کوچک برای تصحیح آن مشکلات را خواهید فهمید و بکارگیری اصول معماری تغییر ناپذیر را در ابزارهایتان را یاد خواهید گرفت.

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

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

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

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

 
تعداد بازدید: ۸۱۴
دیدگاه ها: ۰
تاریخ: 1400/12/01 21:24
توسط: MotoMan
امتیاز: ۱

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

کتاب Architecting for Scale, 2nd Edition (معماری برای مقیاس پذیری، ویرایش دوم)، که با تمرکز گسترده بر پارادایم‌های معماری مدرن مانند میکروسرویس‌ها و محاسبات ابری به‌روزرسانی شده است، تکنیک‌هایی را برای ساختن سیستم هایی ارائه می‌کند که می‌توانند حجم عظیمی از ترافیک، داده و تقاضا را مدیریت کنند، بدون اینکه بر کیفیت مورد انتظار مشتریان شما تأثیر بگذارند. با کمک این کتاب، معماران، مدیران و کارگردان‌ها در سازمان‌های مهندسی و عملیاتی یاد می‌گیرند که چگونه برنامه‌هایی را در مقیاسی بسازند که برای رفع نیازهای مشتریان روان‌تر و قابل اطمینان‌تر اجرا شوند.

تعداد بازدید: ۱۰۸۸
دیدگاه ها: ۰
تاریخ: 1400/11/29 13:49
توسط: MotoMan
امتیاز: ۱
برچسب ها: Distributed Systems |

کتاب Kafka in Action (کافکا در عمل)، مقدمه ای سریع برای همه جنبه‌های کار با آپاچی کافکا است. پس از مروری بر مفاهیم اصلی کافکا، بلافاصله نحوه‌ی نصب و اجرای وظایف پایه ای حرکت داده‌ها و چگونگی تولید و مصرف جریانی از رویداد‌ها را یاد خواهید گرفت.

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

کتاب Kafka in Action (کافکا در عمل)، ویژگی‌های اصلی کافکا را با مثال‌های مرتبط با نحوه استفاده از آن در برنامه‌های واقعی معرفی می‌کند. در این کتاب، رایج‌ترین موارد استفاده از جمله لاگ گیری و مدیریت داده‌های در جریان را بررسی خواهید کرد. وقتی این کتاب را به اتمام رساندید، برای انجام وظایف اولیه توسعه‌دهنده و مدیریتی در یک تیم متمرکز بر کافکا آماده خواهید بود. با پیشرفت سریع، به زودی آماده استفاده از کافکا در جریان کاری روزمره خود خواهید بود و شروع به کندوکاو در موضوعات پیشرفته‌تر کافکا خواهید کرد.

تعداد بازدید: ۷۹۸
دیدگاه ها: ۰
تاریخ: 1400/08/03 21:52
توسط: MotoMan
امتیاز: ۱

توسعه نرم افزار سازمانی از آنچه که باید باشد، بسیار دشوار‌تر و مستعد شکست بوده است. در حال حاضر، مهندس نرم افزار و نویسنده کهنه کار Vaughn Vernon، روش آسان‌تر و ارزشمند‌تری را برای موفقیت با مدل Actor ارائه می‌دهد. کتاب Reactive Messaging Patterns with the Actor Model (الگوهای پیام رسانی واکنشی با مدل اکتر)، نشان می‌دهد که چگونه رویکرد سازمانی واکنشی، مدل Actor، Scala و Akka می‌توانند به شما کمک کنند تا بر محدودیت‌های قبلی عملکردی و مقیاس پذیری غلبه کنید و به طرز ماهرانه ای حتی چالش برانگیزترین نیازهای غیر عملکردی را برطرف کنید.

ورنون با نمایش کار پیشرفته خود، به معماران و توسعه دهندگان نشان می‌دهد که چگونه وعده‌های دیرینه مدل Actor را به واقعیت عملی تبدیل کنند. ابتدا، او اصول نرم افزارهای واکنشی را معرفی می‌کند و نشان می‌دهد که چگونه مدل Actor پیام محور به همه آنها می‌پردازد و این امکان را می‌دهد که سیستم هایی با پاسخگویی بیشتر، تاب آوری و کشش بیشتر ساخته شوند. در مرحله بعد، او یک آموزش عملی راه اندازی Scala، معرفی کامل Akka و Akka Cluster، و یک فصل کامل در مورد به حداکثر رساندن عملکرد و مقیاس پذیری با Scala و Akka ارائه می‌دهد.

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

تعداد بازدید: ۸۴۹
دیدگاه ها: ۰
تاریخ: 1400/05/20 21:07
توسط: MotoMan
امتیاز: ۲

همان طور که سازمان‌ها از برنامه‌های یکپارچه (monolithic)، به سمت میکرو سرویس‌های کوچکتر و مستقل‌تر حرکت می‌کنند، سیستم‌های توزیع شده نیز ریز ساختار‌تر شده اند. اما توسعه این سیستم‌های جدید، مشکلات زیاد خودشان را نیز به همراه دارند. کتاب Building Microservices, 2nd Edition (ساخت میکرو سرویس ها، ویرایش دوم)، یک دید کلی از موضوعاتی که هنگام ساخت، مدیریت و مقیاس پذیری معماری میکرو سرویس‌ها باید در نظر بگیرید را ارائه می‌دهد.
میکرو سرویس‌ها رویکردی برای سیستم‌های توزیع شده هستند که استفاده از سرویس‌های ریز ساختاری که می‌توان به طور مستقل تغییر داد، مستقر و منتشر کرد را ترویج می‌دهند. برای سازمان هایی که به سمت سیستم‌های سست اتصال‌تر (loosely coupled) و تیم‌های خودمختاری که قابلیت‌های در ارتباط با کاربر را ارائه بدهند حرکت می‌کنند، میکرو سرویس‌ها فوق العاده خوب عمل می‌کنند. فراتر از این، میکرو سرویس‌ها گزینه‌های بسیار زیادی را برای ایجاد سیستم‌ها در اختیار ما قرار می‌دهند و به ما انعطاف پذیری زیادی می‌دهند تا مطمئن شویم که سیستم ما می‌تواند برای رفع نیازهای کاربران تغییر کند. هرچند، میکرو سرویس‌ها هم نیز بدون معایب قابل توجهی نیستند. به عنوان یک سیستم توزیع شده، آن‌ها پیچیدگی‌های زیادی را به ارمغان می‌آورند، که بسیاری از آنها حتی برای توسعه دهندگان باتجربه نیز جدید هستند.
تجربیات افراد در سراسر جهان، همراه با ظهور فناوری‌های جدید، تأثیر عمیقی بر نحوه‌ی استفاده از میکرو سرویس‌ها دارد. این کتاب این ایده‌ها را به همراه نمونه‌های عینی و واقعی در کنار هم قرار می‌دهد تا به شما در فهم اینکه آیا میکرو سرویس‌ها برای شما مناسب هستند یا نه کمک کند.

 

تعداد بازدید: ۳۸۵۱
دیدگاه ها: ۰
تاریخ: 1399/07/15 21:29
توسط: MotoMan
امتیاز: ۱

توسعه، استقرار و بهره برداری از برنامه‌های ابری باید به راحتی برنامه‌های محلی باشد. این باید یک اصل حاکم در پشت هر پلت فرم، کتابخانه و یا ابزار ابری باشد. Spring Cloud، توسعه برنامه‌های JVM برای ابر را آسان می‌کند. در این کتاب، ما Spring Cloud را به شما معرفی می‌کنیم و به شما در تسلط یافتن بر قابلیت‌های آن کمک می‌کنیم.
مطالب کتاب Mastering Spring Cloud، با معرفی میکرو سرویس‌ها برای spring و قابلیت‌های موجود با Spring Cloud آغاز می‌شود. سپس، پیکربندی سرور Spring Cloud و اجرای سرور Eureka را برای فعال کردن جستجو و ثبت سرویس ها، یاد خواهید گرفت. در ادامه با تکنیک‌های مربوط به load balancing و Circuit breaker آشنا می‌شوید و از تمام امکانات سرویس گیرنده Feign استفاده می‌کنید. این کتاب به سراغ موضوعات پیشرفته می‌رود که در آن یاد خواهید گرفت که راهکار ردیابی توزیع شده برای Spring Cloud را پیاده سازی کنید و معماری میکرو سرویس‌های پیام محور را بسازید. قبل از اجرای برنامه روی کانتینر docker، شما روش‌های آزمایش و ایمن سازی را با Spring Cloud می‌آموزید.

 

تعداد بازدید: ۲۱۵۴
دیدگاه ها: ۰
تاریخ: 1399/05/26 21:02
توسط: MotoMan
امتیاز: ۱
برچسب ها: Distributed Systems |

سیستم‌های نرم افزاری توزیع شده مبتنی بر Thrift از مؤلفه‌های ارتباطی ساخته شده اند که از زبان ها، پروتکل‌ها و انواع پیام مختلفی استفاده می‌کنند. Thrift در بین آن‌ها نشسته است و serialization داده ها، حمل و نقل و پیاده سازی سرویس‌ها را مدیریت می‌کند. Thrift از تعداد زیادی کلاینت، محیط سرور و زبان برنامه نویسی از PHP و JavaScript گرفته تا ++C و Go، پشتیبانی می‌کند.

کتاب Programmer’s Guide to Apache Thrift، پوشش جامعی از ارتباطات برنامه‌های توزیع شده با استفاده از چارچوب Thrift ارائه می‌دهد. این کتاب همراه با نمونه‌های کد و بینشی مفید، بهترین شیوه‌ها را برای توسعه توزیع شده چند زبانه ارائه می‌دهد. این کتاب وقتی که برنامه‌ها را به زبان‌های سی پلاس پلاس، جاوا و پایتون بررسی می‌کنید، در میان transport ها، پروتکل ها، IDL و سرور‌ها شما را راهنمایی می‌کند. همچنین شما نحوه کار با پلتفرم‌ها را از کلاینت‌های مبتنی بر مرورگر گرفته تا سرور‌های سازمانی را یاد خواهید گرفت.

تعداد بازدید: ۹۵۵
دیدگاه ها: ۰
تاریخ: 1398/09/18 21:36
توسط: MotoMan
امتیاز: ۱
برچسب ها: RabbitMQ |Distributed Systems |

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

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

تعداد بازدید: ۳۴۸۸
دیدگاه ها: ۰
تاریخ: 1398/01/16 11:07
توسط: MotoMan
امتیاز: ۲
برچسب ها: C Sharp |Distributed Systems |

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

تعداد بازدید: ۲۳۷۱
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...