Ukweli Kuhusu Async PHP: Fibers, epoll, na PHP 8.6

Nilifanya kazi na Laravel kwa miaka mingi. Nilitumia sync PHP. Ombi linakuja, mchakato unaendeshwa, na jibu linatoka. Sikuwahi kuhitaji kodi ya async.

Kisha nikasoma kuhusu Polling API mpya ya PHP 8.6. Ilibadilisha jinsi ninavyoona kila kitu.

Hapa kuna kile nilichojifunza kuhusu jinsi async inavyofanya kazi ndani ya mfumo.

Tatizo la IO

Unapoita API, mchakato wako wa PHP unasubiri. Mfano: $response = Http::get('https://api.example.com');

Ikiwa wito huo utachukua ms 300, CPU yako haifanyi kitu kwa ms 300. Inabaki katika hali ya kulala. Hii ni blocking I/O.

Ikiwa una wito tatu wa API: