توضیحاتی در مورد کتاب :
روش های مختلف نوشتن کد همزمان در اکسیر را بیاموزید و عملکرد برنامه خود را افزایش دهید، بدون اینکه مقیاس پذیری یا تحمل خطا را به خطر بیندازید. اکثر پروژه ها از اجرای همزمان وظایف پس زمینه و پردازش داده ها سود می برند، اما دنیای OTP و کتابخانه های مختلف می تواند چالش برانگیز باشد. از کدام ناظر و چه استراتژی استفاده کنیم؟ در مورد GenServer چطور؟ شاید به فشار برگشتی نیاز داشته باشید، اما آیا GenStage، Flow یا Broadway انتخاب بهتری هستند؟ شما همه چیزهایی را که برای پاسخ به این سؤالات نیاز دارید، یاد خواهید گرفت، در کمترین زمان شروع به ساخت برنامه های کاربردی بسیار همزمان کنید و کدی بنویسید که نه تنها سریع باشد، بلکه در برابر خطاها مقاوم باشد و مقیاس آن آسان باشد.
چه در حال ساخت یک اپلیکیشن معاملاتی سهام با فرکانس بالا باشید و چه یک اپلیکیشن وب مصرف کننده، باید بدانید که چگونه از همزمانی استفاده کنید تا اپلیکیشن هایی سریع و کارآمد بسازید. Elixir و OTP طیف وسیعی از ابزارهای قدرتمند را ارائه می دهند و این راهنما به شما نشان می دهد که چگونه بهترین ابزار را برای هر شغل انتخاب کنید و از آن برای شروع سریع ساخت برنامه های بسیار همزمان استفاده کنید.
در مورد وظایف، درختان نظارت، و انواع مختلف سرپرستان در دسترس شما بیاموزید. درک کنید که چرا فرآیندها و پیوند فرآیندها بلوک های سازنده همزمانی در اکسیر هستند. با OTP راحت باشید و از رفتار GenServer برای حفظ وضعیت فرآیند برای کارهای طولانی مدت استفاده کنید. به راحتی تعداد فرآیندهای در حال اجرا را با استفاده از رجیستری مقیاس کنید. با استفاده از فشار برگشتی به نفع خود، حجم زیادی از داده ها و افزایش ترافیک را با GenStage مدیریت کنید. اولین خط لوله پردازش داده چند مرحله ای خود را با استفاده از مراحل تولید کننده، مصرف کننده و تولید کننده-مصرف کننده ایجاد کنید. مجموعه های بزرگ را با Flow، با استفاده از MapReduce و موارد دیگر به صورت موازی پردازش کنید. با تشکر از Broadway، خواهید دید که ادغام با سیستمهای کارگزار پیام محبوب یا حتی تولیدکنندگان GenStage چقدر آسان است.
شروع به ساخت برنامه های کاربردی با کارایی بالا و مقاوم در برابر خطا کنید اکسیر امروزه معروف است.
آنچه شما نیاز دارید:
شما به Elixir 1.9 و Erlang/OTP 22 نیاز دارید که روی Mac OS X، Linux، یا ماشین ویندوز نصب شده باشد.
فهرست مطالب :
Cover
Table of Contents
Introduction
Who Should Read This Book?
About This Book
About the Code
Online Resources
1. Easy Concurrency With the Task Module
Introducing the Task Module
Creating Our Playground
Starting Tasks and Retrieving Results
Managing Series of Tasks
Linking Processes
Meeting the Supervisor
Understanding Let It Crash
Wrapping Up
2. Long-Running Processes Using GenServer
Starting With a Basic GenServer
GenServer Callbacks In-Depth
Building a Job Processing System
Introducing DynamicSupervisor
Implementing a Supervisor
Naming Processes Using the Registry
Wrapping Up
3. Data Processing Pipelines with GenStage
Understanding Back-Pressure
Introducing GenStage
Building Your Data Processing Pipeline
Adding Concurrency With ConsumerSupervisor
Creating Multi-Stage Data Pipelines
Choosing the Right Dispatcher
Wrapping Up
4. Processing Collections with Flow
5. Data-Ingestion Pipelines with Broadway
توضیحاتی در مورد کتاب به زبان اصلی :
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or fault-tolerance. Most projects benefit from running background tasks and processing data concurrently, but the world of OTP and various libraries can be challenging. Which Supervisor and what strategy to use? What about GenServer? Maybe you need back-pressure, but is GenStage, Flow, or Broadway a better choice? You will learn everything you need to know to answer these questions, start building highly concurrent applications in no time, and write code that's not only fast, but also resilient to errors and easy to scale.
Whether you are building a high-frequency stock trading application or a consumer web app, you need to know how to leverage concurrency to build applications that are fast and efficient. Elixir and the OTP offer a range of powerful tools, and this guide will show you how to choose the best tool for each job, and use it effectively to quickly start building highly concurrent applications.
Learn about Tasks, supervision trees, and the different types of Supervisors available to you. Understand why processes and process linking are the building blocks of concurrency in Elixir. Get comfortable with the OTP and use the GenServer behaviour to maintain process state for long-running jobs. Easily scale the number of running processes using the Registry. Handle large volumes of data and traffic spikes with GenStage, using back-pressure to your advantage. Create your first multi-stage data processing pipeline using producer, consumer, and producer-consumer stages. Process large collections with Flow, using MapReduce and more in parallel. Thanks to Broadway, you will see how easy it is to integrate with popular message broker systems, or even existing GenStage producers.
Start building the high-performance and fault-tolerant applications Elixir is famous for today.
What You Need:
You'll need Elixir 1.9+ and Erlang/OTP 22+ installed on a Mac OS X, Linux, or Windows machine.