PHP开发者的福音,解读PHP异步通信框架Swoole的机制

在中国互联网行业膨胀的12-16年,PHP语言凭借自身易上手,开发周期短的优势,深受各中小企业的喜爱。小编也很荣幸在2009年底进入这一行业,为自己谋生分得一杯羹。但是PHP又先天有它的局限性,导致客户很多需求无法得到满足。

大家都知道,PHP现有的应用方式都是基于http的,对于需要快速实时响应的场景比较乏力,比如网络游戏又或者聊天工具之类的推送服务,一般都需要与用户长期保持一个TCP连接以便于实时响应和推送信息。在Swoole出现以前,这个问题一直是PHPER难以逾越的难题,甚至很多PHP开发者都纷纷转行投向java,Python的怀抱。让我这个仍然坚持PHP阵营的小伙伴甚是孤独。

接下来,我们来说说Swoole,看看它给PHPER带来怎样的解决方案。

Swoole是一个面向生产环境的PHP异步网络通信引擎,使PHP开发人员编写高性能的异步并发TCP、UDP、UnixSocket、Http、WebSocket服务。Swoole可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域,使用PHP Swoole作为网络通信框架。

Swoole虽然是标准的PHP扩展,但它与普通扩展有着本质上的区别,普通扩展只是提供一个函数库,而Swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后底层会自动回调指定的PHP函数。

Server

强大的TCP/UPD Server框架,支持多线程,EventLoop,事件驱动,异步,Worker进程组,Task异步任务,毫秒定时器,SSL/TLS隧道加密。

HTTP\Server是Server的子类,内置了Http的支持;

WebSocket\Server是HTTP\Server的子类,内置了WebSocket的支持;

Redis\Server是Server的子类,内置了Redis服务器协议的支持。

Client

TCP/UDP/UnixSocket客户端,支持IPV4/IPV6,支持SSL、TLS隧道加密,支持SLL双向证书,支持同步并发调用,支持异步事件驱动编程。

Coroutine

Swoole在2.0开始内置协议(Coroutine)的能力,提供了具备协程能力IO接口。

协程能力可以理解为纯用户态的线程,其通过协作而不是抢占来切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。Swoole可以为每一个请求创建对应协程,根据IO的状态来合理调度协程。

Process

进程管理模块,可以方便地创建子进程,进程间通信,进程管理

Table

基于共享内存和自旋锁实现的超高性能内存表。彻底解决线程、进程间数据共享,加锁同步等问题。

Event

EventLoop API,让用户可以直接操作底层的时间循环,将Socket,Stream,管道等Linux文件加入到事件循环中。

支持的版本:PHP 5.3

支持的数据库:MySQL、DB2、Oracle、MS SQL SERVER、ODBC等主流数据库

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

那么作为PHP程序员的你,是否还会继续坚守自己的阵营呢?

(0)

相关推荐

  • 首页 > 编程语言 > php 编程语言Laravel Octane 1.0 正式发布了!

    首页 > 编程语言 > php 下面由laravel教程栏目给大家介绍Laravel Octane 1.0,希望对需要的朋友有所帮助! Laravel Octane 1.0 正式发布,与 ...

  • PHP laravel+thrift+swoole打造微服务框架

    Laravel作为最受欢迎的php web框架一直广受广大互联网公司的喜爱. 笔者也参与过一些由laravel开发的项目.虽然laravel的性能广受诟病但是业界也有一些比较好的解决方案,比如堆机器, ...

  • websocket粘包处理

    websocket 底层使用的tcp 协议. 当一次发送数据过长时,tcp 会把数据封成多个包发送:同样当数据过短时, 会把数据合并成一个包发送,这种现象就是粘包.粘包的情况也有可能是接收端造成的.[ ...

  • php架构之路

    鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己的2019年. 一.常用的设计模式以及使用场景 以下是我用到过的   工厂,单例,策略,注册,适配,观察者,原 ...

  • swoole中websoket创建在线聊天室(php)

    swoole中websoket创建在线聊天室(php) swoole现仅支持Linix,macos 创建websocket服务器 首先现在服务器创建一个websocket服务器 <?php // ...

  • 2021年央行工作展望:完善绿色金融政策框架和激励机制

    策划:人民银行办公厅 制作:金融时报 中国金融学会 绿色金融专业委员会 简称:'绿金委',是中国金融学会下设立的,从事绿色金融研究.推动绿色投融资产品与服务创新.推动绿色金融政策落地的学术研究专业委员 ...

  • 一作解读|小麦高温抗条锈病分子机制探究

    近日,西北农林科技大学植物保护学院胡小平教授团队在美国微生物学会(American Society of Microbiology)旗下<mSphere>期刊在线发表了题为"Re ...

  • 点睛之笔!开发者解析《战神》中的斧头召回机制

    近期最热门的游戏非<战神>莫属,这款历经五年打造的动作游戏不仅为此系列带来注入新的活力,也为动作游戏类别树立下新的标杆.而游戏中独树一帜的斧头召回机制更是为传统动作游戏带来了更多样的玩法, ...

  • Science子刊& Nature两篇文章解读线粒体进行呼吸的分子机制!

    2020年9月29日 讯 /生物谷BIOON/ --细胞中微小的线粒体在呼吸过程中会将氧气和营养物质转化为可用的能量,这一过程称之为细胞呼吸,其能为机体提供源源不断的能量,尽管该过程非常重要,但截至到 ...

  • 高中英语读后续写:5R解读、4句框架和3大原则(五四三法)

    高中英语 公众号 来源:飚记英语  作者:孙三五 在教学中,读后续写我初步摸索出:5R解读故事:4句框架和3大原则(即:五四三法) 目前看,这种方法还是比较有效的,当然有个前提,需要积累若干细节描写的 ...

  • 2030教育行动框架解读:2030教育总原则和总目标

    摘要 2015年11月4日,联合国教科文组织在巴黎总部通过并发布了"教育2030行动框架".这一行动框架,是在联合国教科文组织的协调下,各成员国和合作伙伴积极参与,经过高度的协商制 ...

  • 70张PPT专业解读:全面预算管理体系的框架与落地(建议收藏)

    本文内容纲要: 一.全面预算管理体系的总体框架 二.现行预算中存在的问题 三.预算指标体系的确立 四.各部门应编制预算 五.下属单位应编制预算 六.预算表格的完善 七.预算编制依据 <全面预算管 ...

  • 鲍威尔的框架——最新讲话的解读

    本文希望能够帮助梳理我们对美联储当前阶段的框架体系和反应函数的一些理解.美联储的框架体系一直以来是相对比较有序和连贯的,没有发生太大的变化.从整体的感觉上来讲,美联储从去年8月份开始预期管理以来,其在 ...

  • 物联网研究框架与投资机会(108页完整版深度解读)

    物联网是未来五年甚至十年的大赛道,这是一份全面.系统.详实的报告,值得深入研读!