Real-time event processing
Josh Fischer, Ning Wang

#Grokking
#Streaming
#Streaming_Systems
#framework
#networking
#Kafka
#Spark
#Heron
🌊 این کتاب یک راهنمای دوستانه، ساده و مستقل از فریمورکهاست که بهت کمک میکنه بفهمی Streaming Systems چطور کار میکنن—و حتی چطور میتونی سیستم استریمینگ خودت رو از صفر طراحی و پیادهسازی کنی.
⚙️ کتاب Grokking Streaming Systems مفاهیم پیچیده پردازش دادههای لحظهای رو به زبان ساده توضیح میده و با مثالهای تصویری، دیالوگهای آموزشی و سناریوهای واقعی، یادگیری رو کاملاً قابلدرک و جذاب میکنه.
🚀 در این کتاب یاد میگیری
🧩 چطور سیستمهای استریمینگ رو پیادهسازی و Debug کنی
🏗️ چطور معماری Streaming Systems برای قابلیتهای پیچیده طراحی کنی
⚡ چطور نیازهای Parallelization رو تحلیل و تنظیم کنی
🌐 شناسایی گلوگاههای شبکه و حل مشکل Backpressure
📦 گروهبندی دادهها برای رسیدن به Performance بالا
⏱️ مدیریت Eventهای دیررس در سیستمهای Real-Time
📖 توضیحات کتاب
🌍 سیستمهای Streaming فاصله بین دریافت داده و پردازش اون رو به حداقل میرسونن تا پاسخها در لحظه تولید بشن.
💳 این نوع سیستمها در حوزههایی مثل مالی، امنیت و IoT که تأخیر حتی در حد میلیثانیه مهمه، کاملاً ضروری هستن.
🔥 مهارتهای مرتبط با پلتفرمهایی مثل Spark، Heron و Kafka در بازار کار بسیار پرتقاضا هستن.
📚 کتاب Grokking Streaming Systems مفاهیم کلیدی مثل Data Parallelization، Event Windows و Backpressure رو بدون وابستگی به ابزار خاص آموزش میده.
🛠️ در طول کتاب یک Streaming Tool ساده رو از صفر میسازی تا مفاهیم کاملاً در عمل برات جا بیفتن؛ همراه با مثالهایی مثل تشخیص Fraud در تراکنشهای بانکی و مانیتورینگ سرویسهای IoT.
⚙️ درباره فناوری
⚡ سیستمهای Streaming برای پردازش Real-Time طراحی شدن؛ جایی که هر میلیثانیه اهمیت داره.
🌐 این سیستمها برای پردازش حجم عظیم دادههای Event-driven استفاده میشن و نقش مهمی در سیستمهای مدرن داده دارن.
📡 ابزارهایی مثل Apache Kafka و سایر Streaming Frameworkها بر همین اصول بنا شدن.
📚 درباره کتاب
🧠 این کتاب مفاهیم Streaming رو با زبانی کاملاً قابلفهم و بدون وابستگی به فریمورک خاص آموزش میده.
🧩 در طول مسیر یاد میگیری چطور مفاهیمی مثل Stream Graph، Delivery Semantics، Windowed Computation و Stateful Processing کار میکنن.
📊 همچنین با مشکلات واقعی مثل Backpressure، Joinهای استریم و پردازش Eventهای دیررس روبهرو میشی و راهحلشون رو یاد میگیری.
🔥 محتویات اصلی کتاب
⚡ پیادهسازی و Troubleshooting سیستمهای Streaming
🏗️ طراحی سیستمهای Streaming برای کاربردهای پیچیده
🌐 تشخیص Bottleneckهای شبکه و حل Backpressure
📦 گروهبندی داده برای سیستمهای High-Performance
👥 این کتاب برای چه کسانی مناسبه؟
💻 این کتاب برای افرادی مناسبه که هیچ تجربه قبلی در سیستمهای Streaming ندارن.
☕ مثالهای کتاب با زبان Java ارائه شدن.
📑 فهرست مطالب
👨🏫 درباره نویسندگان
جاش فیشر یک Apache Committer و عضو کمیته مدیریت پروژه Apache Heron هست؛ یک موتور پردازش داده توزیعشده.
او بهعنوان مهندس نرمافزار در شرکت Scotcro کار میکنه و تجربه کار با پردازش دادههای Real-Time در شرکتهایی مثل 1904labs و Bayer رو داره.
نینگ وانگ هم یک Apache Committer و عضو PMC پروژه Apache Heron هست و در حال حاضر در شرکت Amplitude روی ساخت Pipelineهای Real-Time کار میکنه.
او قبلاً یکی از contributors کلیدی در تیم Real-Time Compute شرکت Twitter بوده.
A friendly, framework-agnostic tutorial that will help you grok how streaming systems work—and how to build your own!
In Grokking Streaming Systems you will learn how to:
Grokking Streaming Systems is a simple guide to the complex concepts behind streaming systems. This friendly and framework-agnostic tutorial teaches you how to handle real-time events, and even design and build your own streaming job that’s a perfect fit for your needs. Each new idea is carefully explained with diagrams, clear examples, and fun dialogue between perplexed personalities!
About the technology
Streaming systems minimize the time between receiving and processing event data, so they can deliver responses in real time. For applications in finance, security, and IoT where milliseconds matter, streaming systems are a requirement. And streaming is hot! Skills on platforms like Spark, Heron, and Kafka are in high demand.
About the book
Grokking Streaming Systems introduces real-time event streaming applications in clear, reader-friendly language. This engaging book illuminates core concepts like data parallelization, event windows, and backpressure without getting bogged down in framework-specific details. As you go, you’ll build your own simple streaming tool from the ground up to make sure all the ideas and techniques stick. The helpful and entertaining illustrations make streaming systems come alive as you tackle relevant examples like real-time credit card fraud detection and monitoring IoT services.
What's inside
Implement and troubleshoot streaming systems
Design streaming systems for complex functionalities
Spot networking bottlenecks and resolve backpressure
Group data for high-performance systems
About the reader
No prior experience with streaming systems is assumed. Examples in Java.
Table of Contents
PART 1. GETTING STARTED WITH STREAMING
1. Welcome to Grokking Streaming Systems
2. Hello, streaming systems!
3. Parallelization and data grouping
4. Stream graph
5. Delivery semantics
6. Streaming systems review and a glimpse ahead
PART 2. STEPPING UP
7. Windowed computations
8. Join operations
9. Backpressure
10. Stateful computation
11. Wrap-up: Advanced concepts in streaming systems
"Very well-written and enjoyable. I recommend this book to all software engineers working on data processing." —Apoorv Gupta, Facebook
"Finally, a much-needed introduction to streaming systems—a mustread for anyone interested in this technology." —Anupam Sengupta, Red Hat
"Tackles complex topics in a very approachable manner." —Marc Roulleau, GIRO
"A superb resource for helping you grasp the fundamentals of opensource streaming systems." —Simon Verhoeven, Cronos
"Explains all the main streaming concepts in a friendly way. Start with this one!" —Cicero Zandona, Calypso Technologies
Every action by a user or a system process generates valuable data for your application or organization. Streaming systems capture and process these events, turning disconnected bits into coherent, useful information sources. Grokking Streaming Systemsis a simple guide to the complex concepts you need to start building your own streamingsystems. Written to be tool-agnostic, Grokking Streaming Systemshelps you unravel what streaming systems are, how they work, and whether they're right for your business. You'll start with the key concepts and then work your way through increasingly complex examples. You'll even be able to easily experiment with your own streaming system. By the time you're done, you'll be able to easily assess the capabilities of streaming frameworks, and solve common challenges that arise when building streaming systems.
Josh Fischer is an Apache Committer, and part of the project management committee for the Apache Heron distributed stream processing engine. Josh is a software engineer at Scotcro and has worked with moving large datasets in real time for organizations such as 1904labs and Bayer.
Ning Wang is an Apache Committer, and part of the project management committee for the Apache Heron distributed stream processing engine. Ning is also a software engineer at Amplitude building real-time data pipelines. He was a key contributor of Apache Heron in Twitter’s Real-time Compute team.









