Swoole - 学习/实践

1. 应用场景

了解学习swoole的应用场景,以及运行原理,借助其框架进行项目开发。

备注:人想变得强, 就不要怕内心的恐惧,当你不再畏惧的时候,发现原来也不是那么恐惧。

2. 学习/操作

1. 文档

基于Swoole的通用连接池 - 数据库连接池

Swoole难上手?从EasySwoole开始

https://www.siammm.cn/SiamProjecShow/ // swoole项目 - 练习

swoole 中的锁及其应用

Swoole4 文档 // Swoole官方文档

Swoole4 文档 // Swoole官网文档 - 学习Swoole - 基础知识

Swoole4 文档 // Swoole官网文档 - 学习Swoole - 编程须知

Swoole4 文档 // 其他知识

Swoole4 文档 // Swoole文章 - 强烈推荐

Swoole微课程 // Swoole官方视频教程

GitHub - swoole/swoole-src: 🚀 Coroutine-based concurrency library for PHP  //源码

韩天峰 - SegmentFault 思否  //韩天峰主页

contos7 yum安装php7.2与swoole_快乐木头人的博客-CSDN博客  //contos7 yum安装php7.2与swoole

Swoole 从入门到实战教程 | Laravel 学院  //Swoole 从入门到实战

php为什么要用swoole?-阿里云开发者社区  //php为什么要用swoole?

【swoole入门】如何快速创建一个web服务器-阿里云开发者社区  //如何快速创建一个web服务器

工具

Swoole 4.x 速查表 -- 帮助快速查询相关的API/方法等代码使用 -- 推荐

2. 整理输出

2.1 介绍

官网介绍:

Swoole是面向生产环境的 PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。

Swoole 可广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。

2.2 为什么学习swool

推荐阅读: 

php为什么要用swoole?-阿里云开发者社区

文章详情:// 先阅读,然后消化[删除]

最近两个月一直在研究 Swoole,那么借助这篇文章,我希望能够把 Swoole 安利给更多人。

虽然 Swoole 可能目前定位是一些高级 phper 的玩具,让中低级望而生畏,可能对一些应用场景也一脸懵逼,但其实没这么难的。
在 Swoole 官网的自我介绍是“面向生产环境的 PHP 异步网络通信引擎”,首先 Swoole 它是一个网络应用的开发工具

它支持 Http、TCP、UDP、WebSocket。

Swoole 和我们传统的 PHP 开发差别是有的,需要理解的概念也是有的。

使用目前一些基于 Swoole 的框架开发的话,从开发习惯上和传统的TP、LV 框架相差不多。

那为什么要使用 Swoole?

我认为有以下几点:

常驻内存,避免重复加载带来的性能损耗,提升海量性能

协程异步,提高对 I/O 密集型场景并发处理能力(如:微信开发、支付、登录等)

方便地开发 Http、WebSocket、TCP、UDP 等应用,可以与硬件通信

PHP 高性能微服务架构成为现实

常驻内存

目前传统 PHP框架,在处理每个请求之前,都要做一遍加载框架文件、配置的操作。这可能已经成为性能问题的一大原因,而使用 Swoole 则没有这个问题,一次加载多次使用。

协程

如下图所示,这是同一个线程处理并发请求的场景,比如你某个接口中需要调用其它 api 接口或读写大文件,传统同步阻塞和协程异步的优势就体现了出来。
__20191122205314

详解 Swoole 协程为什么适合 I/O 密集型场景

说到协程,就得先简单说说进程和线程,众所周知进程是很占用资源的,为了处理请求大量创建进程肯定是得不偿失的。

而多线程应用就比较多了,在 CPU 层面有几个核心就会执行几个任务,线程一旦创建的多了,就会有线程调度的损耗。

协程是在单线程基础上实现的,它可以最大限度利用 CPU 资源,而不会在等待 I/O 时白白浪费。

当然,协程数越多占用的内存也就越多,不过这个是可以接受的,相比进程和线程,占用的资源是相对较少的。

使用协程时,遇到读写文件、请求接口等场景,会自动挂起协程,把 CPU 让给其它协程执行任务,这样可以提升单线程的 CPU 资源利用率,减少浪费,从而提高性能。

20200429 周三

https://www.imiphp.com/   // PHP Swoole 协程应用开发框架

https://www.bilibili.com/video/BV1VJ411i7K5?p=1  //【11集已完结】基于 PHP + Swoole 的 imi 框架新手入门课程

Swoole - PHP 协程框架  // swool官网 - 主页有很多结合swool的项目, 可以了解学习下~~~ 20200429 周三

https://github.com/account/unverified-email  // Swoole入门教程编码

2.3 文档参见官网

Swoole4 文档 与 swoole-src: Coroutine-based concurrency library for PHP

1. 安装

Windows [win10 64位 专业版]

Swoole 安装 [Windows] - 学习/实践_穿素白衫的少年的博客-CSDN博客

linux [centOS 7.4  64位]阿里云 LNMP

Swoole 安装 - 基于Linux[centOS]/Docker_穿素白衫的少年的博客-CSDN博客_swoole 安装

Docker安装swoole TBD

后续补充

...

3. 问题/补充

1. Linux centos 下查看GCC版本4种命令

1.gcc -v

2.gcc --version

3.cat /proc/version

4.rpm -qa | grep gcc

说明:
/proc文件系统,它不是普通的文件系统,而是系统内核的映像,也就是说,该目录中的文件是存放在系统内存之中的,它以文件系统的方式为访问系统内核数据的操作提供接口。

后续补充

...

4. 参考

参见文档阅读列表

后续补充

...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值