Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

دانلود کتاب Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

دسته: کامپیوتر

46000 تومان موجود

کتاب طراحی برای مقیاس پذیری با Erlang/OTP: پیاده سازی سیستم های مقاوم و مقاوم در برابر خطا نسخه زبان اصلی

دانلود کتاب طراحی برای مقیاس پذیری با Erlang/OTP: پیاده سازی سیستم های مقاوم و مقاوم در برابر خطا بعد از پرداخت مقدور خواهد بود
توضیحات کتاب در بخش جزئیات آمده است و می توانید موارد را مشاهده فرمایید


این کتاب نسخه اصلی می باشد و به زبان فارسی نیست.


امتیاز شما به این کتاب (حداقل 1 و حداکثر 5):

امتیاز کاربران به این کتاب:        تعداد رای دهنده ها: 9


توضیحاتی در مورد کتاب Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems

نام کتاب : Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems
عنوان ترجمه شده به فارسی : طراحی برای مقیاس پذیری با Erlang/OTP: پیاده سازی سیستم های مقاوم و مقاوم در برابر خطا
سری :
نویسندگان : ,
ناشر : O’Reilly Media
سال نشر : 2016
تعداد صفحات : 736
ISBN (شابک) : 1449320732
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 11 مگابایت



بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.


فهرست مطالب :


Preface......Page 6
Francesco: Why This Book?......Page 7
Steve: Why This Book?......Page 8
Who Should Read This Book......Page 9
How To Read This Book......Page 10
Acknowledgments......Page 11
Conventions Used in This Book......Page 12
Using Code Examples......Page 13
Safari® Books Online......Page 14
How to Contact Us......Page 15
1. Introduction......Page 16
Defining the Problem......Page 18
OTP......Page 21
Erlang......Page 24
Tools and Libraries......Page 25
System Design Principles......Page 29
Erlang Nodes......Page 32
Distribution, Infrastructure, and Multicore......Page 33
Summing Up......Page 35
What You’ll Learn in This Book......Page 36
2. Introducing Erlang......Page 43
Recursion and Pattern Matching......Page 44
Functional Influence......Page 49
Fun with Anonymous Functions......Page 50
List Comprehensions: Generate and Test......Page 52
Processes and Message Passing......Page 55
Fail Safe!......Page 62
Links and Monitors for Supervision......Page 64
Links......Page 65
Monitors......Page 68
Records......Page 70
Maps......Page 74
Macros......Page 76
Upgrading Modules......Page 78
ETS: Erlang Term Storage......Page 80
Distributed Erlang......Page 84
Naming and Communication......Page 85
Node Connections and Visibility......Page 86
Summing Up......Page 88
What’s Next?......Page 89
3. Behaviors......Page 90
Process Skeletons......Page 91
Design Patterns......Page 95
Callback Modules......Page 98
Extracting Generic Behaviors......Page 102
Starting the Server......Page 105
The Client Functions......Page 108
The Server Loop......Page 111
Functions Internal to the Server......Page 114
The Generic Server......Page 115
Message Passing: Under the Hood......Page 120
Summing Up......Page 124
What’s Next?......Page 125
4. Generic Servers......Page 126
Generic Servers......Page 127
Behavior Directives......Page 129
Starting a Server......Page 131
Message Passing......Page 134
Synchronous Message Passing......Page 135
Asynchronous Message Passing......Page 137
Other Messages......Page 140
Unhandled Messages......Page 142
Synchronizing Clients......Page 144
Termination......Page 146
Call Timeouts......Page 149
Deadlocks......Page 153
Generic Server Timeouts......Page 155
Hibernating Behaviors......Page 157
Going Global......Page 158
Linking Behaviors......Page 160
Summing Up......Page 161
What’s Next?......Page 162
5. Controlling OTP Behaviors......Page 163
The sys Module......Page 164
Tracing and Logging......Page 165
System Messages......Page 167
Your Own Trace Functions......Page 168
Statistics, Status, and State......Page 170
The sys Module Recap......Page 174
Spawn Options......Page 176
Memory Management and Garbage Collection......Page 177
Process heap......Page 179
Full sweep of the heap......Page 180
Spawn Options to Avoid......Page 182
Timeouts......Page 183
Summing Up......Page 184
What’s Next?......Page 185
6. Finite State Machines......Page 186
Finite State Machines the Erlang Way......Page 187
Coffee FSM......Page 190
The Hardware Stub......Page 192
Starting......Page 193
The selection state......Page 194
The payment state......Page 195
The remove state......Page 196
Generic FSMs......Page 197
A Behavior Example......Page 199
Starting the FSM......Page 200
Asynchronous events......Page 205
Defining states......Page 206
Timeouts......Page 210
Asynchronous events to all states......Page 211
Synchronous events......Page 213
Termination......Page 215
Summing Up......Page 217
Get Your Hands Dirty......Page 218
The Phone Controllers......Page 219
Let’s Test It......Page 222
What’s Next?......Page 224
7. Event Handlers......Page 225
Events......Page 226
Generic Event Managers and Handlers......Page 228
Starting and Stopping Event Managers......Page 229
Adding Event Handlers......Page 230
Deleting an Event Handler......Page 233
Sending Synchronous and Asynchronous Events......Page 235
Retrieving Data......Page 239
Handling Errors and Invalid Return Values......Page 242
Swapping Event Handlers......Page 246
Wrapping It All Up......Page 248
The SASL Alarm Handler......Page 251
Summing Up......Page 253
What’s Next?......Page 254
8. Supervisors......Page 255
Supervision Trees......Page 256
OTP Supervisors......Page 262
The Supervisor Behavior......Page 264
Starting the Supervisor......Page 265
The restart specification......Page 269
The child specification......Page 274
Dynamic Children......Page 278
Simple one for one......Page 281
Gluing it all together......Page 284
Supervisor bridges......Page 287
Adding non-OTP-compliant processes......Page 289
Scalability and Short-Lived Processes......Page 290
Synchronous Starts for Determinism......Page 294
Testing Your Supervision Strategy......Page 296
How Does This Compare?......Page 298
Summing Up......Page 299
What’s Next?......Page 300
9. Applications......Page 301
How Applications Run......Page 303
The Application Structure......Page 306
The Callback Module......Page 311
Starting and Stopping Applications......Page 312
Application Resource Files......Page 317
The Base Station Controller Application File......Page 320
Starting an Application......Page 321
Environment Variables......Page 324
Application Types and Termination Strategies......Page 328
Distributed Applications......Page 329
Start Phases......Page 338
Included Applications......Page 340
Start Phases in Included Applications......Page 341
Combining Supervisors and Applications......Page 344
The SASL Application......Page 346
Progress Reports......Page 351
Error Reports......Page 352
Crash Reports......Page 353
Supervisor Reports......Page 354
Summing Up......Page 356
What’s Next?......Page 357
10. Special Processes and Your Own Behaviors......Page 358
Special Processes......Page 359
The Mutex......Page 360
Basic template for starting a special process......Page 363
Asynchronously starting a special process......Page 366
The Mutex States......Page 368
Handling Exits......Page 369
System Messages......Page 371
Trace and Log Events......Page 373
Putting It Together......Page 375
Dynamic Modules and Hibernating......Page 379
Your Own Behaviors......Page 380
Rules for Creating Behaviors......Page 381
An Example Handling TCP Streams......Page 382
Summing Up......Page 386
What’s Next?......Page 388
11. System Principles and Release Handling......Page 389
System Principles......Page 391
Release Directory Structure......Page 393
Release Resource Files......Page 399
Creating a Release......Page 403
Creating the Boot File......Page 405
Script files......Page 408
The make_script parameters......Page 413
Creating a Release Package......Page 416
Start Scripts and Configuring on the Target......Page 421
Arguments and Flags......Page 425
Heart......Page 432
The Erlang loader......Page 436
The init Module......Page 439
Rebar3......Page 441
Generating a Rebar3 Release Project......Page 443
Creating a Release with Rebar3......Page 447
Rebar3 Releases with Project Dependencies......Page 450
Wrapping Up......Page 453
What’s Next?......Page 458
12. Release Upgrades......Page 459
Software Upgrades......Page 460
The First Version of the Coffee FSM......Page 463
Adding a State......Page 467
Creating a Release Upgrade......Page 471
The Code to Upgrade......Page 475
Application Upgrade Files......Page 479
High-Level Instructions......Page 484
Release Upgrade Files......Page 488
Low-Level Instructions......Page 491
Installing an Upgrade......Page 494
The Release Handler......Page 497
Upgrading Environment Variables......Page 502
Upgrading Special Processes......Page 503
Upgrading in Distributed Environments......Page 504
Upgrading the Emulator and Core Applications......Page 506
Upgrades with Rebar3......Page 508
Summing Up......Page 511
What’s Next?......Page 515
13. Distributed Architectures......Page 516
Node Types and Families......Page 518
Networking......Page 523
Distributed Erlang......Page 526
Riak Core......Page 529
Scalable Distributed Erlang......Page 535
Sockets and SSL......Page 537
Service Orientation and Microservices......Page 540
Peer to Peer......Page 542
Interfaces......Page 545
Summing Up......Page 549
What’s Next?......Page 551
14. Systems That Never Stop......Page 552
Availability......Page 553
Fault Tolerance......Page 554
Resilience......Page 556
Reliability......Page 559
At most once, exactly once, and at least once......Page 561
Share nothing......Page 566
Share something......Page 568
Share everything......Page 573
Tradeoffs Between Consistency and Availability......Page 578
Summing Up......Page 580
What’s Next?......Page 582
15. Scaling Out......Page 583
Horizontal and Vertical Scaling......Page 584
Capacity Planning......Page 588
Capacity Testing......Page 592
Generating load......Page 593
Balancing Your System......Page 597
Finding Bottlenecks......Page 601
Synchronous versus asynchronous calls......Page 602
System Blueprints......Page 604
Load Regulation and Backpressure......Page 605
Summing Up......Page 610
What’s Next?......Page 612
16. Monitoring and Preemptive Support......Page 613
Monitoring......Page 615
Logs......Page 618
Metrics......Page 624
Alarms......Page 629
Preemptive Support......Page 634
Summing Up......Page 637
What’s Next?......Page 639
Index......Page 640




پست ها تصادفی