Posted on: July 28, 2020 04:37 PM
Posted by: Renato
Categories: PHP PHP Swoole sw
Views: 1070
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.
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
Donate to Site
Renato
Developer