Do not speak Portuguese? Translate this site with Google or Bing Translator
Swoole PHP – Extensão para Turbinar seus Aplicativos

Posted on: July 28, 2020 04:37 PM

Posted by: Renato

Categories: PHP PHP Swoole sw

Views: 932

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.

 

SWOOLE BENEFÍCIOS

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

Acombinaçã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

https://morettic.com.br/wp2/swoole-php-extensao/


1

Share

Donate to Site


About Author

Renato

Developer

Add a Comment
Comments 0 Comments

No comments yet! Be the first to comment

Blog Search


Categories

OUTROS (15) Variados (109) PHP (130) Laravel (157) Black Hat (3) front-end (28) linux (111) postgresql (39) Docker (25) rest (5) soap (1) webservice (6) October (1) CMS (2) node (7) backend (13) ubuntu (54) devops (25) nodejs (5) npm (2) nvm (1) git (8) firefox (1) react (6) reactnative (5) collections (1) javascript (6) reactjs (7) yarn (0) adb (1) Solid (2) blade (3) models (1) controllers (0) log (0) html (2) hardware (3) aws (14) Transcribe (2) transcription (1) google (4) ibm (1) nuance (1) PHP Swoole (5) mysql (31) macox (4) flutter (1) symfony (1) cor (1) colors (2) homeOffice (2) jobs (3) imagick (2) ec2 (1) sw (1) websocket (1) markdown (1) ckeditor (1) tecnologia (14) faceapp (1) eloquent (14) query (4) sql (40) ddd (3) nginx (9) apache (4) certbot (1) lets-encrypt (3) debian (11) liquid (1) magento (2) ruby (1) LETSENCRYPT (1) Fibonacci (1) wine (1) transaction (1) pendrive (1) boot (1) usb (1) prf (1) policia (2) federal (1) lucena (1) mongodb (4) paypal (1) payment (1) zend (1) vim (4) ciencia (6) js (1) nosql (1) java (1) JasperReports (1) phpjasper (1) covid19 (1) saude (1) athena (1) cinnamon (1) phpunit (2) binaural (1) mysqli (3) database (42) windows (6) vala (1) json (2) oracle (1) mariadb (4) dev (12) webdev (24) s3 (4) storage (1) kitematic (1) gnome (2) web (2) intel (3) piada (1) cron (2) dba (18) lumen (1) ffmpeg (2) android (2) aplicativo (1) fedora (2) shell (4) bash (3) script (3) lider (1) htm (1) csv (1) dropbox (1) db (3) combustivel (2) haru (1) presenter (1) gasolina (1) MeioAmbiente (1) Grunt (1) biologia (1) programming (22) performance (3) brain (1) smartphones (1) telefonia (1) privacidade (1) opensource (3) microg (1) iode (1) ssh (3) zsh (2) terminal (3) dracula (1) spaceship (1) mac (2) idiomas (1) laptop (2) developer (37) api (4) data (1) matematica (1) seguranca (2) 100DaysOfCode (9) hotfix (1) documentation (1) laravelphp (10) RabbitMQ (1) Elasticsearch (1) redis (2) Raspberry (4) Padrao de design (4) JQuery (1) angularjs (4) Dicas (37) Kubernetes (2) vscode (2) backup (1) angular (3) servers (2) pipelines (1) AppSec (1) DevSecOps (4) rust (1) RustLang (1) Mozilla (1) algoritimo (1) sqlite (1) Passport (1) jwt (4) security (2) translate (1) kube (1) iot (1) politica (2) bolsonaro (1) flow (1) podcast (1) Brasil (1) containers (2) traefik (1) networking (1) host (1) POO (2) microservices (2) bug (1) cqrs (1) arquitetura (2) Architecture (3) sail (3) militar (1) artigo (1) economia (1) forcas armadas (1) ffaa (1) autenticacao (1) autorizacao (2) authentication (4) authorization (2) NoCookies (1) wsl (4) memcached (1) macos (2) unix (2) kali-linux (1) linux-tools (5) apple (1) noticias (2) composer (1) rancher (1) k8s (1) escopos (1) orm (1) jenkins (4) github (5) gitlab (3) queue (1) Passwordless (1) sonarqube (1) phpswoole (1) laraveloctane (1) Swoole (1) Swoole (1) octane (1) Structurizr (1) Diagramas (1) c4 (1) c4-models (1) compactar (1) compression (1) messaging (1) restfull (1) eventdrive (1) services (1) http (1) Monolith (1) microservice (1) historia (1) educacao (1) cavalotroia (1) OOD (0) odd (1) chatgpt (1) openai (3) vicuna (1) llama (1) gpt (1) transformers (1) pytorch (1) tensorflow (1) akitando (1) ia (1) nvidia (1) agi (1) guard (1) multiple_authen (2) rpi (1) auth (1) auth (1) livros (2) ElonMusk (2) Oh My Zsh (1) Manjaro (1) BigLinux (2) ArchLinux (1) Migration (1) Error (1) Monitor (1) Filament (1) LaravelFilament (1) replication (1) phpfpm (1) cache (1) vpn (1) l2tp (1) zorin-os (1) optimization (1) scheduling (1) monitoring (2) linkedin (1) community (1) inteligencia-artificial (2) wsl2 (1) maps (1) API_KEY_GOOGLE_MAPS (1) repmgr (1) altadisponibilidade (1) banco (1) modelagemdedados (1) inteligenciadedados (4) governancadedados (1) bancodedados (2) Observability (1) picpay (1) ecommerce (1)

New Articles



Get Latest Updates by Email