کتاب Building Microservices (ساختار میکروسرویسها، طراحی سیستمهای ریز دانه، ویرایش دوم) به شرح و بررسی ساختار میکروسرویسها خواهد پرداخت. این کتاب در 3 بخش مختلف به واکاوی میکروسرویسها و بیان نکات پیشرفته و مهم آنها میپردازد.
در ادامه مقدمهای از کتاب Building Microservices را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Building Microservices:
میکروسرویسها رویکردی به سیستمهای توزیعشده هستند که استفاده از سرویسهای با دانهریزی را که میتوانند به طور مستقل تغییر، مستقر و منتشر کنند، ترویج میکنند. برای سازمانهایی که در حال حرکت به سمت سیستمهای مرتبطتر هستند، با تیمهای مستقلی که قابلیتهای کاربر را ارائه میکنند، میکروسرویسها به طرز باورنکردنی خوب کار میکنند. فراتر از این، میکروسرویسها گزینههای زیادی را برای ساختن سیستمها در اختیار ما قرار میدهند و به ما انعطافپذیری زیادی میدهند تا اطمینان حاصل کنیم که سیستم ما میتواند برای رفع نیازهای کاربران تغییر کند.
با این حال، میکروسرویسها بدون معایب قابل توجهی نیستند. به عنوان یک سیستم توزیع شده، آنها پیچیدگی زیادی را به همراه دارند که بسیاری از آنها ممکن است حتی برای توسعه دهندگان با تجربه جدید باشد.
تجربیات مردم در سرتاسر جهان، همراه با ظهور فناوریهای جدید، تأثیر عمیقی بر نحوه استفاده از میکروسرویسها دارد. این کتاب این ایدهها را همراه با مثالهای واقعی و واقعی گرد هم میآورد تا به شما کمک کند بفهمید که آیا میکروسرویسها برای شما مناسب هستند یا خیر.
چه کسی باید کتاب Building Microservices را بخواند؟
دامنه Building Microservices گسترده است، زیرا مفاهیم معماری میکروسرویس نیز گسترده است. به این ترتیب، این کتاب باید برای افراد علاقهمند به جنبههای طراحی، توسعه، استقرار، آزمایش و نگهداری سیستمها جذاب باشد.
کسانی از شما که قبلاً سفر به سمت معماریهای با دانه بندی ریزتر را آغاز کردهاید، چه برای کاربرد سبز یا به عنوان بخشی از تجزیه یک سیستم موجود و یکپارچه تر، توصیههای عملی زیادی برای کمک به شما پیدا خواهید کرد. این کتاب همچنین به کسانی از شما که میخواهند بدانند این همه سر و صدا در مورد چیست کمک خواهد کرد تا بتوانید تعیین کنید که آیا میکروسرویسها برای شما مناسب هستند یا خیر.
چرا کتاب Building Microservices را نوشتم؟
در یک سطح، من این کتاب را نوشتم زیرا میخواستم مطمئن شوم که اطلاعات چاپ اول بهروز، دقیق و مفید میماند. چاپ اول را نوشتم زیرا ایدههای واقعا جالبی وجود داشت که میخواستم به اشتراک بگذارم.
من خوش شانس بودم که در جایی بودم که زمان و پشتیبانی لازم برای نوشتن اولین نسخه را داشتم و میتوانستم این کار را از دیدگاه نسبتاً بی طرفانه انجام دهم زیرا برای یک فروشنده بزرگ فناوری کار نمیکردم. من راه حلی نمیفروختم، و امیدوار بودم که میکروسرویس هم نمیفروختم – فقط ایدهها برایم جذاب بود، و دوست داشتم مفهوم میکروسرویسها را باز کنم و راههایی برای به اشتراک گذاری گسترده تر آن بیابم.
وقتی واقعاً آن را شکستم، به دو دلیل اصلی ویرایش دوم را نوشتم. اولاً، احساس کردم این بار میتوانم کار بهتری انجام دهم. من بیشتر یاد گرفته ام و امیدوارم به عنوان یک نویسنده کمی بهتر باشم.
اما من این نسخه دوم را نیز نوشتم زیرا نقش کوچکی در کمک به این ایدهها داشتم تا به جریان اصلی برسند، و به همین دلیل وظیفه دارم مراقب باشم که آنها به شیوهای معقول و متعادل ارائه شوند. میکروسرویسها برای بسیاری تبدیل به انتخاب پیش فرض معماری شده اند. این چیزی است که من فکر میکنم توجیه آن سخت است، و من میخواستم فرصتی برای به اشتراک گذاشتن دلیل آن داشته باشم.
کتاب Building Microservices نه طرفدار میکروسرویس است و نه ضد میکروسرویس. فقط میخواهم مطمئن شوم که زمینهای را که این ایدهها در آن به خوبی کار میکنند را به درستی بررسی کردهام و مشکلاتی را که میتوانند ایجاد کنند به اشتراک گذاشتهام.
چه چیزی از نسخه اول تغییر کرده است؟
من اولین نسخه کتاب Building Microservices را در حدود یک سال نوشتم، از ابتدای سال 2014 شروع شد، و کتاب در فوریه 2015 منتشر شد. این در اوایل داستان میکروسرویسها بود، حداقل از نظر آگاهی صنعت گسترده تر از این اصطلاح. از آن زمان، میکروسرویسها به گونهای رایج شدند که من نمیتوانستم پیش بینی کنم. با این رشد، مجموعه بسیار گستردهتری از تجربیات و فناوریهای بیشتری برای اکتشاف به وجود آمده است.
همانطور که در پی چاپ اول با تیمهای بیشتری کار میکردم، شروع به اصلاح تفکر خود در مورد برخی از ایدههای مرتبط با میکروسرویسها کردم. در برخی موارد، این بدان معنا بود که ایدههایی که فقط در حاشیه تفکر من بودند، مانند پنهان کردن اطلاعات، به عنوان مفاهیم اساسی که نیاز به برجستهتر شدن بهتر داشتند، روشنتر شدند.
در حوزههای دیگر، فناوری جدید هم راه حلهای جدید و هم مشکلات جدیدی را برای سیستمهای ما ارائه کرد. دیدن تعداد زیادی از مردم به Kubernetes به این امید که همه مشکلات آنها را با معماری میکروسرویس حل کند، مطمئناً باعث شد که فکر کنم.
علاوه بر این، من اولین نسخه Building Microservices را نوشتم تا نه تنها توضیحی در مورد میکروسرویسها ارائه کنم، بلکه یک نمای کلی از چگونگی تغییر این رویکرد معماری جنبههای توسعه نرمافزار را نیز ارائه کنم. بنابراین، وقتی عمیقتر به جنبههای امنیتی و انعطافپذیری نگاه کردم، متوجه شدم که میخواهم به گذشته برگردم و موضوعاتی را که برای توسعه نرمافزار مدرن اهمیت فزایندهای دارند، گسترش دهم.
بنابراین در این ویرایش دوم، زمان بیشتری را صرف به اشتراک گذاشتن مثالهای واضح برای توضیح بهتر ایدهها میکنم. هر فصل مورد بررسی مجدد قرار گرفته و هر جمله بررسی شده است.
تعداد زیادی از چاپ اول از نظر نثر ملموس باقی نمانده است، اما ایدهها همه هنوز اینجا هستند. من سعی کردهام نظرات خود را واضحتر بگویم، در حالی که هنوز میدانم که اغلب راههای متعددی برای حل یک مشکل وجود دارد. این به معنای گسترش بحث ارتباطات بین فرآیندی است که اکنون در سه فصل تقسیم شده است. من همچنین زمان بیشتری را صرف نگاه کردن به مفاهیم فناوریهایی مانند کانتینرها، Kubernetes و بدون سرور میکنم. در نتیجه، اکنون بخشهای ساخت و استقرار جداگانه وجود دارد.
امید من این بود که کتابی به اندازه چاپ اول ایجاد کنم، در حالی که راهی برای بستهبندی ایدههای بیشتر پیدا کنم. همانطور که میبینید، من نتوانستم به هدف خود برسم – این نسخه بزرگتر است! اما فکر میکنم موفق شدهام در نحوه بیان ایدهها واضحتر باشم.
پیمایش در کتاب Building Microservices
این کتاب در درجه اول در قالب موضوعی تنظیم شده است. من کتاب را طوری ساختار داده و نوشته ام که گویی شما آن را از ابتدا تا انتها خواهید خواند، اما البته ممکن است بخواهید به موضوعات خاصی که بیشتر مورد علاقه شما هستند بپرید.
اگر تصمیم دارید مستقیماً در یک فصل خاص غوطهور شوید، ممکن است واژه نامه در انتهای کتاب برای توضیح اصطلاحات جدید یا ناآشنا مفید باشد. در مبحث اصطلاحات، من از میکروسرویس و سرویس به جای هم در سراسر کتاب استفاده میکنم. شما میتوانید فرض کنید که این دو اصطلاح به یک چیز اشاره دارند، مگر اینکه من صراحتاً خلاف آن را بیان کنم. من همچنین برخی از توصیههای کلیدی کتاب را در کتابشناسی خلاصه میکنم، اگر واقعاً میخواهید تا آخر بپرید – فقط به یاد داشته باشید که اگر این کار را انجام دهید، جزئیات زیادی را از دست خواهید داد!
بدنه اصلی کتاب Building Microservices به سه بخش مجزا تقسیم شده است: بنیاد، اجرا و افراد. بیایید ببینیم هر قسمت چه چیزی را پوشش میدهد.
قسمت اول، بنیاد
در این بخش، برخی از ایدههای اصلی پشت میکروسرویسها را به تفصیل شرح میدهم.
فصل 1، میکروسرویسها چیست؟
این یک مقدمه کلی برای میکروسرویسها است که در آن به طور خلاصه تعدادی از موضوعات را مورد بحث قرار میدهم که بعداً در کتاب توضیح خواهم داد.
فصل 2، نحوه مدلسازی میکروسرویسها
این فصل از کتاب Building Microservices اهمیت مفاهیمی مانند پنهان کردن اطلاعات، جفت، انسجام و طراحی مبتنی بر دامنه را در کمک به یافتن مرزهای مناسب برای ریزسرویسهای شما بررسی میکند.
فصل 3، تقسیم یکپارچه
این فصل از کتاب Building Microservices راهنماییهایی در مورد نحوه استفاده از یک برنامه یکپارچه موجود و تقسیم آن به میکروسرویسها ارائه میدهد.
فصل 4، سبکهای ارتباط میکروسرویس
فصل آخر در این بخش، بحثی در مورد انواع مختلف ارتباطات میکروسرویس، از جمله تماسهای ناهمزمان در مقابل تماسهای همزمان و سبکهای همکاری درخواست-پاسخ و رویداد محور ارائه میکند.
قسمت دوم، اجرا
با حرکت از مفاهیم سطح بالاتر به جزئیات پیادهسازی، در این بخش به تکنیکها و فناوریهایی میپردازیم که میتوانند به شما کمک کنند از میکروسرویسها بیشترین بهره را ببرید.
فصل 5، پیادهسازی ارتباطات میکروسرویس
در این فصل از کتاب Building Microservices نگاهی عمیقتر به فناوریهای خاص مورد استفاده برای پیادهسازی ارتباطات بین میکرو سرویس میاندازیم.
فصل 6، گردش کار
این فصل از کتاب Building Microservices مقایسهای از حماسهها و تراکنشهای توزیعشده را ارائه میدهد و مفید بودن آنها را در مدلسازی فرآیندهای کسبوکار شامل چندین ریزسرویس مورد بحث قرار میدهد.
فصل 7، ساخت
این فصل از کتاب Building Microservices نقشه برداری از یک میکروسرویس به مخازن و ساختها را توضیح میدهد.
فصل 8، استقرار
در این فصل از کتاب Building Microservices شما درباره گزینههای بیشمار پیرامون استقرار یک میکروسرویس، از جمله نگاهی به کانتینرها، Kubernetes و FaaS بحث خواهید کرد.
فصل 9، آزمایش
در اینجا من چالشهای تست میکروسرویسها، از جمله مسائل ناشی از آزمایشهای انتها به انتها، و اینکه چگونه قراردادهای مبتنی بر مصرفکننده و آزمایش در تولید میتواند کمک کند، بحث میکنم.
فصل 10، از نظارت تا قابلیت مشاهده
این فصل از کتاب Building Microservices تغییر از تمرکز بر فعالیتهای نظارت استاتیک به تفکر گستردهتر در مورد چگونگی بهبود قابلیت مشاهدهپذیری معماریهای میکروسرویس، همراه با برخی توصیههای خاص در مورد ابزارسازی را پوشش میدهد.
فصل 11، امنیت
معماریهای میکروسرویس میتوانند سطح حمله را افزایش دهند، اما همچنین به ما فرصت بیشتری برای دفاع در عمق میدهند. در این فصل به بررسی این تعادل میپردازیم.
فصل 12، انعطافپذیری
این فصل نگاه گستردهتری به انعطافپذیری و نقشی که میکروسرویسها میتوانند در بهبود انعطافپذیری برنامههای کاربردی شما ایفا کنند، ارائه میکند.
فصل 13، مقیاسبندی
در این فصل از کتاب Building Microservices، من چهار محور مقیاسبندی را تشریح میکنم و نشان میدهم که چگونه میتوان از آنها در ترکیب برای مقیاسبندی یک معماری میکروسرویس استفاده کرد.
قسمت سوم، مردم
ایدهها و فناوری بدون حمایت مردم و سازمان از آنها معنایی ندارند.
فصل 14، رابطهای کاربر
این فصل از دور شدن از تیمهای فرانتاند اختصاصی گرفته تا استفاده از BFF و GraphQL، چگونگی کارکرد میکروسرویسها و رابطهای کاربر را بررسی میکند.
فصل 15، ساختارهای سازمانی
این فصل از کتاب Building Microservices ماقبل آخر بر این موضوع تمرکز دارد که چگونه تیمهای همسو با جریان و توانمندسازی میتوانند در زمینه معماریهای میکروسرویس کار کنند.
فصل 16، معمار تکاملی
معماریهای میکروسرویس ثابت نیستند، بنابراین دیدگاه شما از معماری سیستم ممکن است نیاز به تغییر داشته باشد – موضوعی که این فصل به طور عمیق به بررسی آن میپردازد.
سرفصلهای کتاب Building Microservices:
- Preface
- I. Foundation
- 1. What Are Microservices?
- 2. How to Model Microservices
- 3. Splitting the Monolith
- 4. Microservice Communication Styles
- II. Implementation
- 5. Implementing Microservice Communication
- 6. Workflow
- 7. Build
- 8. Deployment
- 9. Testing
- 10. From Monitoring to Observability
- 11. Security
- 12. Resiliency
- 13. Scaling
- III. People
- 14. User Interfaces
- 15. Organizational Structures
- 16. The Evolutionary Architect
- Afterword: Bringing It All Together
- Bibliography
- Glossary
- Index
جهت دانلود کتاب Building Microservices میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.