1.应用场景
主要用于学习和使用Swoole的服务端 (异步风格),同时学习其实现原理。 |
2.学习/操作
1.文档阅读
Swoole4 文档 - 服务端 (异步风格)
2.整理输出 2.1 是什么
方便的创建一个异步服务器程序,支持 TCP 、UDP 、unixSocket 3 种 socket 类型,支持 IPv4 和 IPv6 ,支持 SSL/TLS 单向双向证书的隧道加密。使用者无需关注底层实现细节,仅需要设置网络事件的回调函数即可,示例参考快速启动。
只是 Server 端的风格是异步的 (即所有事件都需要设置回调函数),但同时也是支持协程的,开启了 enable_coroutine 之后就支持协程了 (默认开启),协程下所有的业务代码都是同步写法。
前往了解:
Server 的两种运行模式介绍 Process、ProcessPool、UserProcess 的区别是什么 Master 进程、Reactor 线程、Worker 进程、Task 进程、Manager 进程的区别与联系
2.2 为什么需要「应用场景」
简单说
首先,服务端异步任务在执行耗时操作时需要,可以有效提升CPU利用率
另外,同步的代码风格去编写异步任务,则是为了更好地编码实现,维护。
2.3 什么时候出现「历史发展」
个人目前的见解:
Swoole在迭代的过程中
先是支持服务端异步的实现,此时的代码编写,使用异步回调的方式【有弊端,就是容器导致回调地狱的问题,不利于阅读和维护,其他语言,如Js也是如此】
然后开始优化,代码风格的编写,通过协程方式「Js通过使用aysnc & await去解决,同步代码编写异步任务」
官方文档上说:
在 Swoole4+ 下所有的业务代码都是同步写法(Swoole1.x 时代才支持异步写法,现在已经移除了异步客户端,对应的需求完全可以用协程客户端实现),完全没有心智负担,符合人类思维习惯,但同步的写法底层可能有同步IO/异步IO 之分。
2.4 运行流程 2.5 进程 / 线程结构图 应是SWOOLE_PROCESS模式下 后续补充 ... |
3.问题/补充
4.参考
后续补充
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)