![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
swoole
输了就掀桌子QAQ
这个作者很懒,什么都没留下…
展开
-
swoole学习笔记一
manager是进程,worker是进程,task是进程,master是线程,reactor是线程,心跳检测是线程,UDP收发是线程reactor和worker之间的通信是通过IPC实现的和worker进行通信有两种方式:管道和消息队列主进程mainReactor负责监听server sockettcp分为nopush和nodelay两种方式主进程mainReactor: 负责监听serve转载 2017-02-23 14:49:25 · 334 阅读 · 0 评论 -
swoole学习笔记二
腾讯QQ也是有C10K问题的,只不过他们是用了UDP这种原始的包交换协议来实现的,绕开了这个难题。当然过程肯定是痛苦的。如果当时有epoll技术,他们肯定会用TCP。后来的手机QQ,微信都采用TCP协议。实际上当时也有异步模式,如:select/poll模型,这些技术都有一定的缺点,如selelct最大不能超过1024,poll没有限制,但每次收到数据需要遍历每一个连接查看哪个连接有数据请求。既然转载 2017-02-23 18:21:55 · 382 阅读 · 0 评论 -
swoole学习笔记三
Swoole没有采用多线程模型而是使用的多进程模型,在一定程度上减少了访问数据时加锁解锁的开销,但同时也引入了新的需求:共享内存。 Swoole中为了更好的进行内存管理,减少频繁分配释放内存空间造成的损耗和内存碎片,Rango设计并实现了三种不同功能的MemoryPool:FixedPool,RingBuffer和MemoryGlobal。 虽然原来也知道结构体中可以通过存放函数指针模拟一个类转载 2017-02-23 18:23:03 · 286 阅读 · 0 评论 -
swoole学习笔记四
基于swoole的AsyncTask模块实现的连接池是完美方案,编程简单,没有数据同步和锁的问题。甚至可以多个服务共享连接池。缺点是1, 灵活性不如多线程连接池,无法动态增减连接。2, 有一次进程间通信的开销。--- 这里的甚至可以多个服务共享连接池。代码统计cloc和gitstats(有web显示)只有异步非阻塞方式,没有异步阻塞方式。用了Epoll任何程序都能扛住100W并发连接,只是占内存多转载 2017-02-23 18:23:51 · 242 阅读 · 0 评论 -
linux ssl
证书制作 本章将详细讲解如何制作证书以及如何开启Https的单向、双向认证。 准备工作 选择任意路径,执行如下命令创建文件夹结构 mkdir ca cd ca mkdir private mkdir server mkdir newcerts 在ca目录下创建openssl.conf文件,文件内容如下 [ ca ] default_ca = foo # T...原创 2018-11-30 19:57:39 · 551 阅读 · 0 评论