کتاب Kafka Streams in Action, 2nd Edition: Event-driven applications and microservices (Kafka جریانهای در عمل، ویرایش دوم: برنامههای کاربردی و میکروسرویسهای مبتنی بر رویداد) شما را در راهاندازی و حفظ پردازش جریان خود با کافکا راهنمایی میکند. در داخل، نه تنها کافکا استریم، بلکه کل جعبه ابزاری را که برای استریم مؤثر به آن نیاز دارید، از اجزای اکوسیستم کافکا گرفته تا مشتریان تولیدکننده و مصرفکننده، اتصال و ثبت طرحواره خواهید دید.
در ادامه مقدمهای از کتاب Kafka Streams in Action را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Kafka Streams in Action:
پس از اتمام اولین نسخه از کافکا استریمز در عمل، فکر کردم هر کاری را که در نظر داشتم انجام دادهام. اما با گذشت زمان، درک من از اکوسیستم کافکا و قدردانی من از جریانهای کافکا بیشتر شد. دیدم که کافکا استریمز قدرتمندتر از آن چیزی است که در ابتدا فکر میکردم. علاوه بر این، من متوجه قطعات مهم دیگری در ساخت برنامههای پخش جریانی رویداد شدم. کافکا استریمز هنوز یک بازیکن کلیدی است اما تنها شرط نیست.
من متوجه شدم که آپاچی کافکا را میتوان سیستم عصبی مرکزی برای دادههای یک سازمان در نظر گرفت. اگر کافکا سیستم عصبی مرکزی است، پس جریانهای کافکا یک اندام حیاتی است که برخی از عملیاتهای ضروری را انجام میدهد.
اما Kafka Streams برای آوردن رویدادها به کافکا یا صدور آنها به دنیای خارج که از نتایج و محاسبات آن میتوان به خوبی استفاده کرد، به اجزای دیگری متکی است. من در مورد مشتریان تولیدکننده و مصرفکننده و کافکا کانکت صحبت میکنم. همانطور که قطعات را کنار هم قرار دادم، متوجه شدم که برای تکمیل تصویر جریان رویداد به این اجزای دیگر نیاز دارید. همه اینها را با برخی از پیشرفتهای قابل توجه در کافکا استریمز از سال ۲۰۱۸ همراه کنید، و میدانستم که میخواهم نسخه دومی بنویسم.
اما من فقط نمیخواستم به نسخه قبلی نکات زیبایی اضافه کنم. میخواستم درک بهترم را بیان کنم و پوشش کاملی از کل اکوسیستم کافکا اضافه کنم. این به معنای گسترش دامنه برخی موضوعات از بخشهای فصل به کل فصل (مانند مشتریان تولیدکننده و مصرفکننده)، یا افزودن فصلهای کاملاً جدید (مانند فصلهای جدید در ثبت اتصال و طرحواره) بود.
برای فصلهای موجود در جریان کافکا، نوشتن ویرایش دوم به معنای بهروزرسانی و بهبود مطالب موجود برای شفافسازی و انتقال درک عمیقتر من بود. انجام نسخه دوم با این تمرکز جدید در طول همهگیری کووید-۱۹ آسان نبود، و بدون چالشهای شخصی جدی در طول راه نبود. اما در نهایت، ارزش هر دقیقه بازبینی را داشت و اگر به گذشته برمیگشتم، همان تصمیم را میگرفتم.
امیدوارم خوانندگان جدید کتاب Kafka Streams in Action، این منبع را ضروری بدانند و خوانندگان نسخه اول نیز از پیشرفتها لذت ببرند و از آن استفاده کنند. من نسخه دوم Kafka Streams in Action را نوشتم تا به شما یاد بدهم که چگونه برنامههای پخش رویداد را در Kafka Streams بسازید و سایر اجزای اکوسیستم کافکا، مشتریان تولیدکننده و مصرفکننده، اتصال و ثبت طرحواره را شامل شود.
من این رویکرد را انتخاب کردم زیرا برای اینکه برنامه پخش رویداد شما تا حد امکان مؤثر باشد، نه تنها به Kafka Stream بلکه به ابزارهای ضروری دیگر نیاز دارید. رویکرد من به نوشتن کتاب Kafka Streams in Action یک دیدگاه برنامهنویسی زوجی است. من خودم را تصور میکنم که کنار شما نشستهام در حالی که شما کد را مینویسید و API را یاد میگیرید. شما در مورد کارگزار کافکا و نحوه کار مشتریان تولیدکننده و مصرفکننده خواهید آموخت.
سپس، نحوه مدیریت طرحوارهها، نقش آنها با Schema Registry و نحوه پل زدن Kafka Connect اجزای خارجی و Kafka را خواهید دید. از آنجا، شما به Kafka Streams شیرجه خواهید زد، ابتدا یک برنامه کاربردی ساده بسازید، سپس با حفاری بیشتر در Kafka Streams API پیچیدگی بیشتری اضافه کنید. همچنین در مورد ksqlDB، تست کردن، و در نهایت، ادغام کافکا با فریم ورک محبوب Spring آشنا خواهید شد.
بیشتر بخوانید: کتاب Spring Security in Action
چه کسی باید کتاب Kafka Streams in Action را بخواند؟
Kafka Streams in Action برای هر توسعهدهندهای است که میخواهد وارد پردازش جریانی شود. در حالی که به شدت مورد نیاز نیست، دانش برنامهنویسی توزیع شده به درک Kafka و Kafka Streams کمک میکند. دانستن کافکا مفید است اما الزامی نیست. آنچه را که باید بدانید به شما یاد خواهم داد. توسعهدهندگان باتجربه کافکا و کسانی که به تازگی با کافکا آشنا شدهاند، یاد خواهند گرفت که چگونه برنامههای پردازش جریان قانعکنندهای را با Kafka Streams توسعه دهند.
توسعهدهندگان جاوا متوسط تا پیشرفته که با موضوعاتی مانند سریالسازی آشنا هستند، یاد خواهند گرفت که چگونه از مهارتهای خود برای ساخت یک برنامه Kafka Streams استفاده کنند. کد منبع کتاب Kafka Streams in Action در جاوا ۱۷ نوشته شده است و به طور گسترده از نحو جاوا لامبدا استفاده میکند، بنابراین تجربه با لامبدا (حتی از زبان دیگر) مفید خواهد بود.
نحوه سازماندهی کتاب Kafka Streams in Action: نقشه راه
این کتاب دارای سه بخش در ۱۴ فصل است. در حالی که عنوان کتاب «جریانهای کافکا در عمل» است، کل پلتفرم پخش رویداد کافکا را پوشش میدهد. در نتیجه، پنج فصل اول کتاب Kafka Streams in Action، اجزای مختلف را پوشش میدهد: کارگزاران کافکا، مشتریان مصرفکننده و تولیدکننده، ثبت طرحواره، و کافکا اتصال.
این رویکرد منطقی است، به ویژه با توجه به این که کافکا استریم یک انتزاع بر مشتریان مصرفکننده و تولیدکننده است. بنابراین، اگر قبلاً با Kafka، Connect و Schema Registry آشنا هستید یا اگر مشتاق هستید که با Kafka Streams شروع کنید، به هر حال، مستقیماً به قسمت ۳ بروید.
قسمت ۱ کتاب Kafka Streams in Action جریان رویداد را معرفی میکند و بخشهای مختلف اکوسیستم کافکا را توصیف میکند تا نمای بزرگی از نحوه عملکرد و تناسب آن با هم را به شما نشان دهد. این فصلها همچنین اصول کارگزار کافکا را برای کسانی که به آن نیاز دارند یا میخواهند مرور کنند ارائه میکند:
فصل ۱ زمینهای را در مورد اینکه یک رویداد و جریان رویداد چیست و چرا برای کار با دادههای زمان واقعی حیاتی هستند، ارائه میدهد. همچنین مدل ذهنی مؤلفههای مختلفی را که ما پوشش خواهیم داد ارائه میکند: کارگزار، مشتریان، کافکا کانکت، ثبت طرحواره، و البته کافکا استریم. من به هیچ کدی نمیپردازم اما نحوه کار همه آنها را توضیح میدهم.
فصل ۲ مقدمهای برای توسعهدهندگانی است که تازه با کافکا آشنا شدهاند و نقش کارگزار، موضوعات، پارتیشنها و برخی نظارتها را پوشش میدهد. کسانی که تجربه بیشتری با کافکا دارند میتوانند از این فصل بگذرند.
بخش ۲ کتاب Kafka Streams in Action ادامه میدهد و دریافت دادهها به داخل و خارج از کافکا و مدیریت طرحوارهها را پوشش میدهد:
فصل ۳ استفاده از Schema Registry را پوشش میدهد تا به شما در مدیریت تکامل طرحوارههای دادههای خود کمک کند. هشدار اسپویلر: شما همیشه از یک طرح واره استفاده میکنید—اگر نه به طور صریح، به طور ضمنی وجود دارد.
فصل ۴ تولیدکننده و مشتریان مصرفکننده کافکا را مورد بحث قرار میدهد. مشتریان نحوه دریافت و خروج دادهها از کافکا و ایجاد بلوکهای سازنده برای Kafka Connect و Kafka Streams هستند.
فصل پنجم کتاب Kafka Streams in Action درباره کافکا کانکت است. Kafka Connect این امکان را فراهم میکند که دادهها را از طریق کانکتورهای منبع به کافکا وارد کرده و آن را به سیستمهای خارجی با کانکتورهای سینک صادر کنید.
قسمت ۳ کتاب Kafka Streams in Action به قلب کتاب میآید و برنامههای کاربردی Kafka Streams را در بر میگیرد. در این بخش، شما همچنین با ksqlDB و آزمایش برنامه پخش جریانی رویداد خود آشنا خواهید شد و با ادغام Kafka با Spring Framework به پایان میرسد:
فصل ۶ مقدمه شما برای Kafka Streams است، جایی که یک برنامه Hello World را میسازید و از آنجا، یک برنامه واقعیتر برای یک خرده فروش خیالی میسازید. در طول مسیر، با DSL Kafka Streams آشنا خواهید شد.
فصل ۷ مسیر یادگیری Kafka Streams شما را ادامه میدهد، جایی که در مورد وضعیت برنامه و اینکه چرا برای برنامههای پخش جریانی مورد نیاز است صحبت میکنیم. در این فصل از کتاب Kafka Streams in Action، برخی از چیزهایی که در مورد آنها خواهید آموخت، جمعآوری دادهها و پیوستنها است.
فصل ۸ در مورد KTable API به شما آموزش میدهد. در حالی که KStream یک جریان از رویدادها است، KTable جریانی از رویدادهای مرتبط یا یک جریان به روزرسانی است.
فصل ۹ عملیات پنجرهای و مهرهای زمانی را پوشش میدهد. پنجرهبندی یک تجمیع به شما امکان میدهد نتایج را بر اساس زمان جمعبندی کنید، و مُهرهای زمانی روی سوابق، اقدام را هدایت میکنند.
فصل ۱۰ کتاب Kafka Streams in Action به API پردازشگر Kafka Streams میپردازد. تا این مرحله، شما با DSL سطح بالا کار میکردید، اما در اینجا، نحوه استفاده از Processor API را زمانی که به کنترل بیشتری نیاز دارید، یاد خواهید گرفت.
فصل ۱۱ شما را به پشته توسعه بیشتر میبرد، جایی که با ksqlDB آشنا خواهید شد. ksqlDB به شما این امکان را میدهد که برنامههای پخش جریانی رویداد را بدون هیچ کدی اما با استفاده از SQL بنویسید.
فصل ۱۲ استفاده از چارچوب Spring با مشتریان کافکا و جریانهای کافکا را مورد بحث قرار میدهد. Spring به شما امکان میدهد کدهای ماژولار و قابل آزمایش بیشتری را با ارائه یک چارچوب تزریق وابستگی برای سیم کشی برنامههای خود بنویسید.
فصل ۱۳ شما را با پرس و جوهای تعاملی جریان کافکا یا IQ آشنا میکند. IQ توانایی پرس و جو مستقیم از ذخیره وضعیت یک عملیات دولتی در Kafka Streams است. شما از آنچه در فصل ۱۲ کتاب Kafka Streams in Action، یاد گرفتید برای ساختن یک برنامه وب IQ با قابلیت Spring-enabled استفاده خواهید کرد.
فصل ۱۴ کتاب Kafka Streams in Action موضوع بسیار مهم تست را پوشش میدهد. شما یاد خواهید گرفت که چگونه برنامههای کلاینت را با توپولوژی Kafka Streams آزمایش کنید، تفاوت بین تست واحد و تست یکپارچهسازی و زمان اعمال آنها.
در نهایت، چهار پیوست در کتاب Kafka Streams in Action، برای توضیح بیشتر وجود دارد:
ضمیمه A شامل یک کارگاه آموزشی در Schema Registry برای به دست آوردن تجربه عملی با حالتهای مختلف سازگاری طرحواره است.
ضمیمه B اطلاعاتی در مورد استفاده از Confluent Cloud برای کمک به توسعه برنامههای پخش جریان رویداد شما ارائه میکند.
ضمیمه C بررسی کار با انواع طرحوارههای Avro، Protobuf و JSON Schema است.
ضمیمه D معماری و فضای داخلی کافکا استریم را پوشش میدهد.
سرفصلهای کتاب Kafka Streams in Action:
- Kafka Streams in Action
- Praise for the first edition
- brief contents
- contents
- foreword
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- Part 1
- 1 Welcome to the Kafka event streaming platform
- 2 Kafka brokers
- Part 2
- 3 Schema Registry
- 4 Kafka clients
- 5 Kafka Connect
- Part 3
- 6 Developing Kafka Streams
- 7 Streams and state
- 8 The KTable API
- 9 Windowing and timestamps
- 10 The Processor API
- 11 ksqIDB
- 12 Spring Kafka
- 13 Kafka Streams Interactive Queries
- 14 Testing
- appendix A-Schema compatibility workshop
- A.1 Backward compatibility
- A.2 Forward compatibility
- A.3 Full compatibility
- appendix B-Confluent resources
- B.1 Confluent Cloud
- B.2 Confluent command-line interface
- B.3 Confluent local
- appendix C-Working with Avro, Protobuf, and JSON Schema
- C.1 Apache Avro
- C.2 Protocol Buffers
- C.3 JSON Schema
- appendix D-Understanding Kafka Streams architecture
- D.1 High-level view
- D.2 Consumer and producer clients in Kafka Streams
- D.3 Assigning, distributing, and processing events
- D.4 Threads in Kafka Streams: StreamThread
- D.5 Processing records
- index
جهت دانلود کتاب Kafka Streams in Action میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.