- 基于swoole的AsyncTask模块实现的连接池是完美方案,编程简单,没有数据同步和锁的问题。甚至可以多个服务共享连接池。缺点是1, 灵活性不如多线程连接池,无法动态增减连接。2, 有一次进程间通信的开销。--- 这里的甚至可以多个服务共享连接池。
- 代码统计cloc和gitstats(有web显示)
- 只有异步非阻塞方式,没有异步阻塞方式。
- 用了Epoll任何程序都能扛住100W并发连接,只是占内存多少的问题了。
- 如果用共享内存,又存在安全问题。$i++ 这种操作不是线程安全的。
- $server->connections 是一个迭代器对象,所以只能foreach,你var_dump它就是一个空的对象而已
- task操作的次数必须小于onTask处理速度,如果投递容量超过处理能力,task会塞满缓存区,导致worker进程发生阻塞。worker进程将无法接收新的请求
- 它会自动判断浏览器类型,如果支持websocket就会使用WebSocket,不支持WebSocket就会用JS Comet
- Comet的缺点是它要创建2个TCP连接。
swoole学习笔记四
最新推荐文章于 2024-07-03 11:11:30 发布