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等一流框架发起挑战。

运行环境:Linux Windows Mac FreeBSD Unix

PHP版本支持:PHP5.3+

支持的数据库:MS SQL Server、MySQL、IBM DB2、Oracle、Interbase 、SQLite、PostgreSQL、ODBC

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

功能

包含以下几个特色功能

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

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

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

4、模板-数据反射系统,可以直接在模板中调用数据,提供很多标签,可以无需修改程序,只修改模板,即可实现网站各类更新维护工作。

另外的几个功能

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

2、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就为我们实现了异步队列处理及并发等问题

最新文章

  1. Angular.js 的初步认识
  2. SQL2008安装提示"Microsoft visual studio 2008早期之前的版本
  3. SSH 整合及注意事项
  4. HIFI播放器--磨机吐槽篇
  5. IOS做一个简单计算器
  6. cat主要有三大功能
  7. C语言之预处理命令
  8. JS把字符串转换为数字的方法
  9. github上forck一个分支之后,如何和主分支同步
  10. Yourphp是一款完全开源免费的.核心采用了Thinkphp框架
  11. Linux配置环境变量
  12. org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped
  13. centos/RHEL 7.6 使用yum安装php7.3(方便wordpress的php7.3需求,并解决了libphp7.so缺失问题)
  14. Bean named '...' is expected to be of type [...] but was actually of type [com.sun.proxy.$Proxy7解决方法
  15. Yarn vs npm: 你需要知道的一切(转)
  16. .NET Core开发日志——Runtime IDentifier
  17. 2016年蓝桥杯省赛A组c++第1题
  18. php排序算法及二分法查找
  19. LVS原理详解(3种工作模式及8种调度算法)
  20. win10+wget 收藏

热门文章

  1. su: Authentication failure 的解决方法
  2. 10.矩形覆盖 Java
  3. Java工程师成神之路(2018年最新版)
  4. 20165213 Exp7 网络欺诈防范
  5. koa 基础(二十二)封装 DB 库 --- 测试
  6. Git常用操作详细说明
  7. 过滤器demo-编码统一处理
  8. Selenium 2自动化测试实战28(断言方法)
  9. datatable 用法
  10. centOS7忘记密码,修改root账号密码