拥有php标签的文章

EasySwoole之定时任务面板

EasySwoole之定时任务面板 需求实现物联网设备的数据获取,有些设备的数据需要定时获取 思路1、做这个功能期间,请教了开发组的成员,最后通过阿正提供的思路来完成2、首先任务有间隔执行(秒级)和 定时执行(分级),所以就考虑到每种类型的任务开两个进程来执行(也就是正哥所说的管理进程和执行进程),最终间隔执行是开启自定义进程开启一秒的Timer定时器进行从Db查询(定时任务不多的情况下),符合条件的进行投递到Task进程执行并标记为已投递,Task进程根据投递的内容
阅读全文

EasySwoole之链路追踪

什么是链路追踪 链路追踪一般常用于分布式架构中,当实现一个功能的同时,可能会依次调用多个接口,那么此时这一些列的接口调用,称为调用链。想要实现调用链,那么就需要对每次调用的链接进行标识也就是pointId,方便出现调用问题的时候排查问题,但是有调用并不是同级,所以还需要用parentId来标识上下级关系。具体请查看链接 EasySwoole中实现Api链路追踪 安装组件 `composer require easyswoole/tracker` onRequest事件(
阅读全文

TCP 的连接建立与关闭状态及数据传输通信过程 [含有 PHP socket API 测试实验代码]

本文章使用 PHP 代码来测试 TCP 传输层的一个通信过程TCP/IP 协议可以查看本人发布过的内容当然关于该协议的详细内容可自行查阅 <<TCP/IP 详解 卷 1:协议PHP 的 tcp/udp API 内容是 PHP 手册上的内容socket API测试的 PHP 版本PHP 代码 【就是手册的例子了】```php <?php/ Created by PhpStorm. User: 1655664358@qq.com Date:
阅读全文

Nginx负载均衡

什么是负载均衡 Load Balance, web服务器的负载是接收/处理客户端请求; 均衡将客户端的请求”平均的”分配给服务器集群 如何实现负载均衡 Nginx实现负载均衡需要使用反向代理服务器技术 代理Proxy: 也称为网络代理, 是一种特殊的网络服务, 允许一个网络终端通过这个服务与另一个网络终端进行非直接的连接 正向代理服务器: 隐藏了真实的请求客户端, 服务器不清楚真正的客户端是谁 反向代理服务器: 隐藏了真是的服务器端
阅读全文

Nginx和Apache的区别

Apache和Nginx都可以作为web服务器,有什么区别 市场占有率1、首先看下截止今天的市场份额(nginx和apache依旧是最主流的服务器) 2、2019年五月份到2020年五月份的市场份额变化(由此可以看出apache的市场份额占有率在降低,nginx在上升) Apache如何接收/处理请求/返回响应?1、Apache处理客户端请求的两种模式: prefork MPM(预启动多进程模式) + worker MPM(工作多进程模式)2
阅读全文

Nginx下实现授权访问下载

需求 硬件板子实现自动请求服务器,下载更新包,实现在线升级,但是直接请求的话会人人都可以下载,会造成安全隐患 文件服务器,实现浏览文件并下载 Nginx实现(基于centos7) 安装工具(具体命令查看 htpasswd h) `yum install y httpdtools` 生成账号和密码,将文件保存在nginx目录下 `htpasswd c /etc/nginx/conf.d/test test` 查看生成的文件(:前面
阅读全文

Easyswoole下Crontab定时器如何实现奇偶数时间分别运行不用的定时任务

easyswoole vip群中有小伙伴问到, Crontab 下如何实现奇数时间和偶数时间下分别运行不用的定时任务,今天就来给大家普及一下知识
阅读全文

如何利用EasySwoole多进程多协程redis队列实现爬虫

什么是爬虫? 爬虫是一种按照一定的规则,自动地抓取网上数据的程序或脚本 爬虫之前的准备? 根据初始页面,制定规则获取更多的需要爬取的页面 根据页面内容制定规则,爬取想要的东西 用到的组件及框架 EasySwoole框架(https://www.easyswoole.com/) redis连接池组件(https://www.easyswoole.com/Cn/Components/Redis/pool.html) 协程HTTPClient组件(https://ww
阅读全文

EasySwoole中利用redis实现消息队列

什么是队列? 从数据结构上来讲,队列是一种先进先出的数据结构 什么是消息队列? 消息队列可以简单理解为:把要传输的数据放在队列中 消息队列可以分为生产者和消费者,将传输的数据放到消息队列当中,就相当于生产者,从消息队列中取得数据,就相当于消费者 消息队列可以用来做什么? 电商的秒杀,可以防止超卖 爬虫,将数据存入队列,利用多进程消费 解耦,A系统中的数据放入队列,B和C以及D系统去获取数据 异步限流,提升用户体验,防止系统崩溃 消息队列有哪些? 常
阅读全文

php的垃圾回收机制

  • 仙士可
  • 2020-01-19 11:02:58
  • PHP
  • php
在平时phpfpm的时候,可能很少人注意php的变量回收,但是到swoole常驻内存开发后,就不得不重视这个了,因为在常驻内存下,如果不了解变量回收机制,可能就会出现内存泄露的问题,本文将一步步带你了解php的垃圾回收机制,让你写出的代码不再内存泄漏 写时复制首先,php的变量复制用的是写时复制方式,举个例子. ```php$a='仙士可'.time();$b=$a;$c=$a;//这个时候内存占用相同,$b,$c都将指向$a的内存,无需额外占用 $b='仙
阅读全文