کتاب Building Event-Driven Microservices: Leveraging Organizational Data at Scale 2nd Edition (ساخت میکروسرویسهای رویداد محور: بهرهگیری از دادههای سازمانی در مقیاس وسیع (ویرایش دوم)) راهنمایی جامع برای ورود به دنیای معماریهای مدرن نرمافزاری است. نویسنده با تکیه بر تجربیات شخصی خود و همچنین همکاری با متخصصان، اصول اساسی میکروسرویسهای رویداد محور را تشریح میکند.
در ادامه مقدمهای از کتاب Building Event-Driven Microservices را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Building Event-Driven Microservices:
من این کتاب را در ابتدا به این دلیل نوشتم که ای کاش وقتی سفرم را به دنیای میکروسرویسهای رویداد محور آغاز کردم، چنین کتابی را داشتم. در حالی که بخش زیادی از آن را بر اساس تجربیات خودم نوشتم، بسیار خوششانس بودم که در کنار بسیاری از همکاران و استادان بزرگ یاد بگیرم و رشد کنم. من تمام تلاشم را کردهام تا هر آنچه را که در مورد میکروسرویسهای رویداد محور میدانم، در کتاب Building Event-Driven Microservices خلاصه کنم و امیدوارم در سفر خود به خوبی از آن بهره ببرید.
در پنج سالی که بین این ویرایش دوم و ویرایش اول فاصله افتاد، فرصت داشتم دنیای گستردهتر و جزئیتری از معماریهای رویداد محور و میکروسرویسها را تجربه کنم. به عنوان یک متخصص ارشد در شرکت کانفلوئنت (Confluent)، این افتخار را داشتم که با سازمانهای بیشماری که کارهای واقعاً قابل توجهی انجام میدهند، درگیر شوم—برخی به عنوان مشتریان ما و برخی دیگر به عنوان اعضای جامعه پر جنب و جوش آپاچی کافکا (Apache Kafka).
هرچند عوامل زیادی بر این ویرایش دوم تأثیر گذاشتهاند، اما دو مورد از بقیه مهمتر هستند. اولین مورد، محتوایی است که ای کاش در ویرایش اول قرار میدادم، از جمله بررسیهای دقیق طرحها (schemas)، طراحی رویداد، هماهنگی (orchestration) و یکپارچگی نهایی (eventual consistency). این موضوعات، اگرچه ماهیتی عمدتاً نظری دارند، اما برای ساخت میکروسرویسهای رویداد محور با طراحی خوب، ضروری هستند.
دومین عامل تأثیرگذار اصلی، روندهای غالب فناوری است. امروزه شروع به ساخت میکروسرویسهای رویداد محور بسیار آسانتر از همیشه شده است. بسیاری از چیزها از زمان انتشار ویرایش اول کتاب Building Event-Driven Microservices تغییر کرده است، از جمله:
غلبه آپاچی کافکا
آپاچی کافکا جایگاه خود را به عنوان واسطه رویداد استاندارد تثبیت کرده است. قابل ذکر است که اکنون بسیاری از نسخههای شبیهسازی شده کافکا (Kafka clones) وجود دارند که از APIهای کافکا استفاده میکنند، اما پیادهسازیهای کاملاً اختصاصی و سفارشی در زیرساخت خود دارند.
این نسخهها انعطافپذیری در پیادهسازی و صرفهجویی در هزینه را به قیمت تأخیر اضافی فراهم میکنند. برخی از نسخهها، مانند Warpstream، به طور کامل روی فضای ذخیرهسازی ابری (AWS S3، GCP، Azure و غیره) اجرا میشوند و به جای دیسک محلی، از یک مدل بومی ابری (cloud native) استفاده میکنند.
غلبه کوبرنتیز و کانتینرها
پنج سال پیش، کوبرنتیز (Kubernetes) گسترده بود اما لزوماً در همه جا استفاده نمیشد. اکنون عملاً به استاندارد مدیریت کانتینر تبدیل شده است. درست مانند واسطههای رویداد، در حالی که برخی از شرکتها خدمات خود را به صورت داخلی میزبانی میکنند، بسیاری دیگر به جای آن به خدمات ابری وابسته هستند.
ادامه پذیرش خدمات ابری
شرکتهای بزرگ و جاافتاده همچنان خدمات بیشتری را به فضای ابری منتقل میکنند. در همین حال، بسیاری از استارتاپها و شرکتهای کوچک هرگز از نرمافزارهای داخلی یا میزبانیشده استفاده نکردهاند و به طور کامل خدمات بومی ابری را انتخاب کردهاند.
رشد درخواستهای SQL جریانی
SQL جریانی (Streaming SQL) در طول پنج سال گذشته بسیار پختهتر و دقیقتر شده است. پذیرش آن به طور پیوسته افزایش یافته است، به ویژه از آنجا که راهی آسان برای ایجاد تبدیلهای داده-محور طولانیمدت است که قبلاً به یک میکروسرویس کاملاً تعریفشده نیاز داشت. وقتی با خدمات ابری مدیریتشده ترکیب شود، ممکن است متوجه شوید آنچه را که پنج سال پیش به عنوان یک میکروسرویس مینوشتید، امروز میتوانید به عنوان یک درخواست SQL جریانی بنویسید.
افزایش تقاضا برای دادههای با کیفیت بالا
معماری رویداد محور تا حدی به لطف هوش مصنوعی مولد (generative AI) محبوبیت قابل توجهی یافته است. جریانهای رویداد، دادههای کاملاً تعریفشده و تقریباً بیدرنگ (near-real-time) را به صورت آماده ارائه میدهند، که آنها را برای پشتیبانی از عملیات اصلی کسبوکار، تحلیلها، گزارشگیریها، پیشبینیها و مدلهای هوش مصنوعی بسیار جذاب میسازد. شما به سادگی به جریانهای رویداد متصل میشوید تا داده مورد نیاز خود را به دست آورید، درست همانطور که برای هر میکروسرویس دیگری این کار را میکردید.
همچنین فناوریهای مختلفی وجود دارند که من در طول کتاب Building Event-Driven Microservices به آنها اشاره میکنم، که اکثر آنها را به صورت دست اول تجربه کردهام. اما دنیا بزرگ است و زمان محدود، بنابراین خوشحالم که در جاهایی که تجربه کافی با یک ابزار یا کار را ندارم، به آن اشاره میکنم.
همانطور که کتاب Building Event-Driven Microservices را میخوانید، به ابزارهای خود که در سازمانتان استفاده میکنید فکر کنید و ببینید آیا میتوانید از آنها برای کمک به خود در مسیر میکروسرویسهای رویداد محور استفاده کنید. با تمرکز بر اصول، میتوانید تصمیمات آگاهانه خود را در مورد انتخابهای فناوری بگیرید.
میکروسرویسهای رویداد محور چارچوبی را برای ساخت سرویسهای همسو با کسبوکار که از محدودیتهای قدیمی موقعیتیابی داده (data locality) رها شدهاند، به شما ارائه میدهند. با انتشار واقعیتهای کسبوکار به جریانهای رویداد، دادههای مهم خود را در سراسر سازمان در دسترس هر سرویسی که به آن نیاز دارد، قرار میدهید.
سرویس شما میتواند داده مورد نیاز خود را برای ساخت مدلهای داده خودش و پشتیبانی از عملکردهای کسبوکار خودش مشترک شود. شما نیز به نوبه خود، میتوانید بهترین فناوریهای مناسب برای کار را انتخاب کنید، بدون اینکه دیگر به انتخابهای قدیمی که مدتها پیش گرفته شدهاند، محدود باشید.
بهترین بخش در مورد میکروسرویسهای رویداد محور این است که یک رویکرد “همه یا هیچ” نیست. شما میتوانید با پیادهسازی تنها چند سرویس به صورت رویداد محور، ارزش قابل توجهی به دست آورید، حتی اگر تصمیم بگیرید بقیه سرویسهای خود را به حال خود بگذارید. هر تعداد که میخواهید میکروسرویس رویداد محور بسازید، در راستای رشد کسبوکار خود.
امیدوارم کتاب Building Event-Driven Microservices در سفر شما به دنیای میکروسرویسهای رویداد محور به شما کمک کند.
سرفصلهای کتاب Building Event-Driven Microservices:
- Cover
- Copyright
- Table of Contents
- Foreword
- Preface
- Part I. Introduction to Event-Driven Microservices
- Chapter 1. Why Event-Driven Microservices
- Chapter 2. Fundamentals of Events and Event Streams
- Chapter 3. Fundamentals of Event-Driven Microservices
- Part II. Events and Event Streams
- Chapter 4. Schemas and Data Contracts
- Chapter 5. Designing Events
- Chapter 6. Integrating Event-Driven Architectures with Existing Systems
- Chapter 7. Denormalization and Eventification
- Chapter 8. Stateful Event-Driven Microservices
- Chapter 9. Deterministic Stream Processing
- Chapter 10. Building Workflows with Microservices
- Part III. Event-Driven Microservices Frameworks
- Chapter 11. Basic Producer and Consumer Microservices
- Chapter 12. Heavyweight Framework Microservices
- Chapter 13. Lightweight Framework Microservices
- Chapter 14. Streaming SQL
- Chapter 15. Microservices Using Functions as a Service
- Part IV. Consistency, Bad Data, and Supportive Tooling
- Chapter 16. Eventual Consistency
- Chapter 17. Integrating Event-Driven and Request-Response Microservices
- Chapter 18. Handling Bad Data in Event Streams
- Chapter 19. Supportive Tooling
- Chapter 20. Testing Event-Driven Microservices
- Chapter 21. Deploying Event-Driven Microservices
- Chapter 22. Conclusion
- Index
- About the Author
- Colophon
جهت دانلود کتاب Building Event-Driven Microservices میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.