自己设计通用简单的swoole框架【维护中】

2021-12-07 19:25:22 浏览数 (1)

设计思维:以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组件那是有多难啊!!!::>_<::

0 人点赞