设计思维:以easySwoole为参考,知识点为核心、最简单、且有框架思维
1、做很多服务器、很多端口 VS 做一个服务器、绑定很多task
- 前者是swoole的测试做多了的思维
- 后者:你开那么多服务不就是用异步、长连接等特性嘛!开一组服务 N个任务事件 不也能满足需要嘛!
2、针对客户端发来的数据,做自己的标准,达到类似URL的module、controller、method、params等效果
- 发-接受分派-任务 对应 客户端send-服务器receive-服务器task
3、最后变成:receive、task 、work_task三个事件的分解到不同的文件。
4、每次更新代码都必须重启这个唯一服务器。
在唯一的个服务、唯一的一个事件里面 -> 传递不同的参数 -> 分派出很多的任务
5、如果服务复杂了,热重启就必须了。因为你不能评感觉判断所有的task已经运行完成。怎么做:把参数传到服务器,做一个热重启的客户端?
6、热启动的原理:
- 杀死父进程,子进程在运行结束后自动结束!所以:这里的主进程当然就只能有一个!那么easySwoole框架的多进程是怎么启什么关系: ps -p 查看
- pid是什么?在哪里?easySwoole的temp文件里,,,
- 怪不得那么多软件(Nginx)都要有个专门存放pid文件的地方
7、消息列队:
- easySwoole的消息列队:轻量级的任务队列实现,支持生产-消费模型的普通队列和延时队列,支持Redis和Beanstalkd作为后端驱动
- 要使用一个PHP组件都这么难,自己写一个PHP组件那是有多难啊!!!::>_<::