Reacphp vs swoole

React PHP - ReactPHP là một thư viện cấp thấp để lập trình hướng sự kiện trong PHP. Cốt lõi của nó là một vòng lặp sự kiện, trên hết nó cung cấp các tiện ích cấp thấp, chẳng hạn như trừu tượng hóa Luồng, trình phân giải DNS không đồng bộ, máy khách/máy chủ mạng, máy khách/máy chủ HTTP và tương tác với các quy trình. Thư viện của bên thứ ba có thể sử dụng các thành phần này để tạo máy khách/máy chủ mạng không đồng bộ, v.v.

AMP PHP - Amp là một khung đồng thời hướng sự kiện dành cho PHP cung cấp các nguyên mẫu để quản lý việc xây dựng đa nhiệm hợp tác dựa trên một vòng lặp sự kiện và hứa hẹn

PHP8. 1 Fibers - Trong phần lớn lịch sử của PHP, mọi người chỉ viết mã PHP dưới dạng mã đồng bộ. Việc thực thi các hàm dừng lại cho đến khi có kết quả trả về từ hàm, kể cả đối với các thao tác I/O, quá trình này có thể khá chậm. Gần đây, đã có nhiều dự án cho phép mọi người viết mã PHP không đồng bộ để cho phép các hoạt động I/O đồng thời. Các hàm không đồng bộ chấp nhận gọi lại hoặc trả về một trình giữ chỗ cho một giá trị trong tương lai [chẳng hạn như lời hứa] để chạy mã vào thời điểm trong tương lai sau khi có kết quả. Việc thực hiện tiếp tục mà không cần đợi kết quả. Ví dụ về các dự án này là amphp, ReactPHP và Guzzle

Workerman - Khung ổ cắm PHP hướng sự kiện không đồng bộ. Hỗ trợ HTTP, Websocket, SSL và các giao thức tùy chỉnh khác. PHP>=5. 3

Bài viết này chỉ mang tính chất tham khảo, thích hợp cho những bạn đang làm Node/PHP hoặc muốn chọn công nghệ để viết ứng dụng thời gian thực

Mình nhớ cách đây khá lâu, khoảng năm 2012 có gì đó, cộng đồng lập trình mở rộng một công nghệ mới giúp xử lý bất đồng bộ [cũng như các nhiệm vụ theo thời gian thực, thời gian thực] một cách trơn tru và . js. Hồi đó, PHP đã lộ ra một điểm yếu rất lớn, đó là hỗ trợ xử lý bất đồng bộ không tốt chút nào, dẫn đến hiệu suất xử lý các tác vụ tệ hại theo thời gian thực [Chỉ bằng khoảng 1/6 so với Node . Do đó, nên phục hồi cộng đồng lập trình chuyển sang Node. js nhiều hơn

Tuy nhiên, công nghệ là thứ không liên tục thay đổi, PHP hiện tại đã lên phiên bản 7, tối ưu hóa lại rất nhiều về nền tảng của nó, và nhóm phát triển Swoole đã tận dụng những điều tốt đẹp này, tạo nên một "Sản xuất- . Attempt so sánh một chút nhé

Vậy điều gì đã khiến Swoole nhanh như vậy? . Trông cũng có vẻ nhăn nheo, vậy cùng tìm hiểu tiếp về Swoole nhé

Swoole là gì?

Swoole là một PHP Extension, cài đặt qua PECL và ứng dụng viết thường chạy qua PHP Cli, giúp tạo ra một HTTP Server với hiệu năng cao. Bạn có thể cài đặt qua hướng dẫn trên trang chủ. https. //www. swool. đồng. uk/ Ngoài ra, nếu bạn là người làm Laravel thì không nên bỏ qua Laravel Swoole https. //github. com/swooletw/laravel-swoole

Lưu ý. Vì nó hoạt động dựa trên Linux Kernel nên Swoole không chạy được trên Windows nhé, trừ khi bạn sử dụng Máy ảo cài đặt hđh Linux hoặc hệ thống con Windows Linux

Thử nghiệm

Ta sẽ thực hiện theo các bước giống trên trang chủ hướng dẫn để cài đặt, hoặc đơn giản là nhập 2 dòng sau

sudo apt-get install php php7.2-dev
sudo pecl install swoole

Sau khi cài xong Swoole, nó sẽ nhắc bạn thay đổi file php. ban đầu. Thường nằm trong đường dẫn /etc/php/7. 2/cli/php. ini [Mình cài bản 7. 2, bạn có thể thay đổi lại phiên bản bạn cài đặt]. Ta add this line to the end file [ To enable extension Swoole]

Tôi là người mới sử dụng PHP. Tôi chưa bao giờ sử dụng nó trong sự nghiệp của mình nhưng gần đây chúng tôi đã phát triển một số dự án rất thành công bằng cách sử dụng WordPress và chính WordPress đã cung cấp một điểm vào thế giới PHP cho tôi. Tôi thấy WordPress rất tuyệt vời cho các ứng dụng web có lưu lượng truy cập thấp đến trung bình. Sức mạnh bí mật của nó là hệ sinh thái bổ sung phong phú đi kèm với nó. Tất cả các plugin đi kèm với mã nguồn và miễn là bạn không phân phối sản phẩm của mình, bạn có thể hack và sửa đổi các plugin bất kể giấy phép được liên kết với chúng là gì. Khi tôi nâng cao kiến ​​thức về WordPress, tôi đã biết về những thiếu sót của nó liên quan đến việc trở thành một ứng dụng PHP và cách tất cả các ứng dụng PHP hoạt động. Tất cả các cuộc gọi đến MySQL và tất cả các yêu cầu HTTP đều đồng bộ. Toàn bộ bối cảnh thực thi được tạo lại trên mỗi yêu cầu đến và cuối cùng bị phá bỏ

Có rất nhiều thứ thú vị mà cộng đồng PHP đã làm để làm cho nó hoạt động hiệu quả hơn. Dần dần tôi biết đến Swoole và ReactPHP. Tôi tóm tắt chúng cạnh nhau trong bảng dưới đây

SwooleReactPHPA nhằm mục đích giống như Go [nhiều worker, coroutines] nhằm mục đích giống như Node. js [vòng lặp sự kiện đơn luồng, không chặn] Tài liệu không tốt lắm Tài liệu và video tốt hơn nhiều trên YouTube Không tương thích với Xdebug Tương thích với Xdebug Trình gỡ lỗi Yasd có vấn đềN/ACCó thể sử dụng gật đầu để “tải lại mã nóng”Hiệu suất cao hơn Đủ tốt [nút. js như hiệu suất] Kiến trúc tuyệt vời. Sử dụng tất cả các bài học và tính năng từ Node. js - luồng, lời hứa, v.v. Rất thoải mái cho một Node. js developerSo sánh Swoole với ReactPHP

Cả hai thư viện đều chạy ở chế độ CLI và bạn không cần bất kỳ máy chủ web nào như Apache hoặc NGINX. Cuối cùng nếu tôi phải chọn, ReactPHP là lựa chọn của tôi. Một điều tôi nhận thấy là hầu như không có bất kỳ câu hỏi nào liên quan đến Swoole hoặc ReactPHP trên StackOverflow. Điều đó cho chúng ta những gì?

Chủ Đề