2019年8月23日 星期五(韩天峰的swoole)

Swoole:面向生产环境的 PHP 异步网络通讯引擎

使 PHP 开发人员能够编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。数据库

Swoole 能够普遍应用于互联网、移动通讯、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 编程

使用 PHP + Swoole 做为网络通讯框架,可使企业 IT 研发团队的效率大大提高,更加专一于开发创新产品。缓存

简介

Swoole不是一个像Zend FrameworkCakePHPYiisymfonyThinkPHP等同样的框架,也不是一个像WordPressDrupalDiscuz、UChome等开源产品看齐的项目。 服务器

Swoole的目标是向Java框架、Ruby On Rails、Python DjangoPylons等一流框架发起挑战。swoole

运行环境:Linux Windows Mac FreeBSD Unix网络

PHP版本支持:PHP5.3+数据结构

支持的数据库:MS SQL Server、MySQL、IBM DB二、Oracle、Interbase 、SQLite、PostgreSQL、ODBC多线程

支持的运行方式:Web、Cli命令行脚本、PHP-GTK GUI。 [2] 并发

功能

包含如下几个特点功能框架

一、 相似ORM的数据查询,提供SQL封装器,让MySQL的SQL与PHP的Array,会话,Cache无缝结合。

二、App MVC分层结构,有效的程序结构分层,提升程序的可维护性和扩展性,实现低耦合,基于接口开发。

三、集成大量,实用的功能,好比方便的数据库操做,模板操做,缓存操做,系统配置,表单处理,分页,数据调用,字典操做,上传处理,内容编辑,调试等。

四、模板-数据反射系统,能够直接在模板中调用数据,提供不少标签,能够无需修改程序,只修改模板,便可实现网站各种更新维护工做。

另外的几个功能

一、Swoole包含了大量类,提供众多的功能扩展,基本上Web开发可以用到的功能类,大部分均可以在Swoole框架中找到。

二、Swoole拥有插件系统,Fckeditor、Adodb、pscws中文分词、中文全文索引系统、最新的Key-Value数据库思想,TokyoTyrant,能够无限扩展框架的功能。 [2]

特性

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 代码无需额外增长任何关键词,底层自动进行协程调度,实现异步。

什么是swoole

swoole是PHP的异步、并行、高性能网络通讯引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库链接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查

Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。

Swoole能够普遍应用于互联网、移动通讯、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用PHP+Swoole做为网络通讯框架,可使企业IT研发团队的效率大大提高,更加专一于开发创新产品。随着咱们

咱们为何用swoole

用户打开了咱们的网站。他要作的就是勾选须要发邮件的代理商列表,而后把结算邮件发出去。

假如咱们须要发1封邮件,咱们写个函数执行便可。考虑到网络可能会稍微有点延迟,可是是能够接受的,用户会乖乖等你的网页发完邮件了再关闭网页。

假如咱们要发布10封邮件,用一个for循环,循环10遍执行发邮件操做。这时候,也许10倍的网络延迟会让用户稍微有点不耐烦,但勉强能够等吧。

假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站!

但实际上,咱们极可能有超过1万的邮件。怎么处理这个延迟的问题?答案就是用异步。把“发邮件”这个操做封装,而后后台异步地执行1万遍。这样的话,用户提交网页后,他所等待的时间只是“把发邮件任务请求推送进队列里”的时间。而咱们的后台服务

将在用户看不见的地方跑。而swoole就为咱们实现了异步队列处理及并发等问题

相关文章
相关标签/搜索