Swoole PHP – Extensão para Turbinar seus Aplicativos

swoole + php x node.js
Swoolw php 7.1 Hig performance

Introdução

Swoole PHP é um mecanismo de comunicação de rede de alto desempenho. Possibilita requisições assíncronos e paralelos em PHP.

Sua compilação utiliza exclusivamente a linguagem C que fornece o servidor assíncrono multi-threaded PHP, o cliente de rede assíncrono TCP / UDP e o MySQL assíncrono.

Além disso, usa Redis assíncrono, pool de conexão de banco de dados, AsyncTask, fila de mensagens, temporizador de milissegundos, leituras e gravações de arquivos assíncronos e recursos de consulta DNS assíncronos.

Os desenvolvedores podem usar a API assíncrona para escrever os aplicativos. A estrutura de rede  do Swoole melhora a eficiência da equipe de P & D, permitindo que elas se concentrem no desenvolvimento de produtos inovadores.

Compilado em C, com desempenho extremamente poderoso; Totalmente Open-Source e homologado para o ambiente de produção PHP.

Veja alguns dos benefícios de sua aplicação na arquitetura de software.

  • Simples e fácil de usar, eficiente em termos de desenvolvimento;
  • Processamento assíncrono não-bloqueante de eventos;
  • Suporta milhões de conexões TCP simultâneas;
  • Suporte assíncrono / síncrono / co-rotina;
  • Suporte de multiprocessamento / multi-threading;
  • Suporte a redes IPv4 / IPv6.

Swoole PHP X Node.js

A combinação com o php7.1 deixa o desempenho 12 x mais rápido que o Node.js;

Pode substituir o Node.js totalmente porque o seu recurso assíncrono é não bloqueante.

Veja o comparativo aqui

Instalação & Exemplo

Para Instalar no seu linux Ubuntu

sudo apt-get install php7-dev
git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure
make && make install

Se tiver dúvidas ou problemas durante a instalação sugiro visitar este tutorial.

Feito isto, adicione para o seu arquivo  php.ini:

extension=swoole.so

Exemplo de código em PHP implementando uma requisição assíncrona, concorrente e não bloqueante!

<?php 
$http = new swoole_http_server("127.0.0.1", 1337, SWOOLE_BASE);
$http->set([ 'worker_num' => 4, ]); $data = [ 'code' => 'ok', 'error' => false, 'payload' => 'Good Morning My Friend' ]; $http->on('request', function ($request, swoole_http_response $response) use($data) { $response->header('Content-Type', 'application/json'); $response->end(json_encode($data)); }); $http->start();

Casos de uso

Conheça alguns casos de uso para o Swoole PHP. 

  • Serviços no backend para APP Mobile
  • IOT Internet das Coisas
  • Construção de micro Serviços
  • Servidor de Jogos Multiplayer Online
  • Aplicações Web
  • Sistemas de Chat

Happy Coding! 😀

Comments are closed.