小白学swoole - 为什么选择swoole(一)

断了今生、忘了曾经 提交于 2020-01-04 09:39:58

小白学swoole - 为什么选择swoole(一)

前言

身为一个刚学会curd的PHP小白,初入这个江湖,感兴趣的还是如何用php做出一些看上去很炫酷diao炸天的技能,寻思着搞一搞聊天和直播这种花里胡哨的技能,有了这个点就要过来选一把趁手的家伙事,趁手了,也好劈山打怪。

关于swoole :面向生产环境的 PHP 异步网络通信引擎

文档链接 : https://wiki.swoole.com/
借鉴链接:https://www.cnblogs.com/laoyang1985/p/10937779.html

简单理解:Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
除了异步 IO 的支持之外,Swoole 为 PHP 多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发 HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。
Swoole2.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP 代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。

关于workerman:开源高性能异步PHP socket即时通讯框架

文档链接:http://workerman.net
借鉴链接:https://blog.csdn.net/fastjack/article/details/79523363

简单理解:workerman完全使用PHP开发,使用workerman开发的应用程序不依赖php-fpm、apache、nginx这些容器就可以独立运行。
workerman是一个高性能的PHP socket 服务器框架,workerman基于PHP多进程以及libevent事件轮询库,PHP开发者只要实现一两个接口,便可以开发出自己的网络应用,例如Rpc服务、聊天室服务器、手机游戏服务器等。
workerman的目标是让PHP开发者更容易的开发出基于socket的高性能的应用服务,而不用去了解PHP socket以及PHP多进程细节。 workerman本身是一个PHP多进程服务器框架,具有PHP进程管理以及socket通信的模块,所以不依赖php-fpm、nginx或者apache等这些容器便可以独立运行

个人想法

参考文档 :[https://www.zhihu.com/question/47994137]
(https://www.zhihu.com/question/47994137)
关于使用难易程度
workerman是一款成熟的框架,文档相对于swoole来说也是比较完整,身为初学者,接触workman会更加的友好

关于性能
纯c开发的swoole相对于workerman是会高上一部分的,swoole4的出现可以在任何位置、任何时间创建协程。使得协程变成了一种语言级的特性。

选择
在简单了解之后终于到了选择的时候了,由于本人是用于学习扩展,所以更倾向于使用swoole来进行,如果是项目中需要使用到的呢,而且之前没有接触过使用workerman比较开发好哦。

既然决定是你了,那就开始吧。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!