Limit this search to....

Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines
Contributor(s): Dou, Bruce (Author)
ISBN: 1838134409     ISBN-13: 9781838134402
Publisher: Transfon Ltd
OUR PRICE:   $56.09  
Product Type: Paperback
Published: November 2020
* Not available - Not in print at this time *
Additional Information
BISAC Categories:
- Computers | Programming Languages - Php
Physical Information: 0.7" H x 6" W x 9" (0.99 lbs) 336 pages
 
Descriptions, Reviews, Etc.
Publisher Description:
Build your high performance large scale concurrent system in a more flexible and efficient way than ever before with this first & only Swoole PHP book, with PHP 8 ready.

Introduction
Introducing a new execution model of PHP applications, how Swoole PHP works and the pitfalls of new developers coming into the Swoole PHP world.
This book is also about the general concepts behind building a high concurrency and high-performance web system and how these concepts are implemented in Swoole PHP and how advanced PHP works.
This book provides just enough Linux OS kernel knowledges with code samples helping you understand how async I/O, concurrency and coroutine works.
When start learning or using a new framework, people always carry some assumption coming from the previous experience. Some of these experiences are helpful to understand the new system, but some of these experiences may lead to the misunderstanding of the new system. This book introduces the pitfalls to avoid if you are an experienced PHP developer.
This book is for the developers who have already know the basics about how a web system works such as PHP web application or application in the other programming languages such as Node.js, Golang or Java.
After reading this book, you should be able to build a high concurrent Swoole PHP system with confidence.

Reviews from experts
"Swoole is a strategic development in the evolution of PHP, bringing high performance async-IO based apps to the mainstream of the platform. This book is everything you need to unlock that power of your new async-PHP apps " - Zeev Suraski, co-founder and CTO of Zend Technologies.

"Swoole is a tremendous technology and a game changer for PHP developers. I started to play with it in 2017 and I created the first runtime for Expressive framework. The results have been incredible, huge performance improvement without using a web server, amazing If you want to design asynchronous applications in PHP the book of Bruce Dou is a must." - Enrico Zimuel, Principal Software Engineer at Elastic

Table of contents

  • Introduction

  • Background
    - Stateless PHP-FPM
    - Performance problem
    - Concurrency problem
    - PHP CLI

  • General concepts
    - Executor and execution containers
    - Lifecycle
    - Decoupling and layers
    - Queue, Buffer, Buffering and Batching
    - Pipe and Channel
    - Context, stack and context switch
    - Singleplex vs multiplexing
    - Asynchronous
    - State, stateless, stateful and pooling
    - File descriptor, I/O stream
    - Exceptions
    - Protocol
    - Concurrency and I/O model
    - Event driven and callbacks
    - Facts, costs and limitation
    - Rate limiting & Concurrency Limiting

  • The practical world on Linux OS
    - User mode and kernel mode
    - Memory management
    - Process, Thread and Coroutine
    - Socket and Networking I/O
    - Blocking IO and Non-blocking IO
    - Callbacks, await async vs coroutines

  • Connect with protocols
    - TCP/UDP Protocol
    - HTTP Protocol
    - Websocket Protocol
    - HTTP2 Protocol and GRPC
    - Custom protocol

  • Swoole runtime and internal
    - Swoole PHP extension
    - Variable and states
    - Event loop and asynchronous I/O
    - Swoole PHP Coroutine
    - Multiple execution modes

  • Hands on Swoole PHP
    - Swoole Server
    - Swoole Server Workers
    - Swoole Process
    - Swoole Clients
    - Swoole Table
    - Swoole Timer
    - Swoole Coroutine and Channel

  • Use cases and patterns
    - HTTP services
    - Data processing
    - HTTP and PHP-FPM proxy
    - Sidecar process
    - TCP service
    - WebSocket Server
    - Task Scheduler
    - Producer and Consumer
    - M: N concurrency mapping
    - Connection polling
    - Web spider and scraper
    - PUBSUB system
    - Server-sent events (SSE)
    - Integrate with Linux process
    - Service Governance: RPC and gRPC