摘要:
引言 最近开发一个小功能,用到了队列mcq,启动一个进程消费队列数据,后边发现一个进程处理不过来了,又加了一个进程,过了段时间又处理不过来了...... 这种方式每次都要修改crontab,如果进程挂掉了,不会及时的启动,要等到下次crontab执行的时候才会启动。关闭(重启)进程的时候用的是kil
阅读全文
posted @ 2021-02-22 10:47
李留广
阅读(158)
推荐(0)
摘要:
mysql关系型数据库索引原理 数据库的索引是B+tree结构 主键是聚合索引 其他索引是非聚合索引,先从非聚合索引找,见下图 elasticsearch倒排索引原理 两者对比 对于倒排索引,要分两种情况: 1、基于分词后的全文检索 这种情况是es的强项,而对于mysql关系型数据库而言完全是灾难
阅读全文
posted @ 2021-02-22 09:54
李留广
阅读(369)
推荐(0)
摘要:
背景:公司业务有一个常驻后台运行的守护进程。在这个守护进程当中使用了 Redis List 结构保存业务数据进行队列消费。结果运行过程中,有时候半个月,有时候几个月就会突然不再消费队列里面的数据。当时怀疑是 PHP 不适合编写这种常驻后台运行的守护程序。后来,我们发现进行心跳检测之后,程序的稳定性大
阅读全文
posted @ 2021-02-20 15:27
李留广
阅读(179)
推荐(0)
摘要:
核心点有很多,为了更贴合实际场景,我从常见的面试问题入手: 如何保证消息不丢失? 如何处理重复消息? 如何保证消息的有序性? 如何处理消息堆积? 当然在剖析这几个问题之前需要简单的介绍下什么是消息队列,消息队列常见的一些基本术语和概念。 接下来进入正文。 什么是消息队列 来看看维基百科怎么说的,顺带
阅读全文
posted @ 2021-02-07 09:46
李留广
阅读(468)
推荐(0)
摘要:
一、Session的原理 以下以默认情况举例: session_start();之后,会生成一个唯一的session_id,每一个用户对应唯一一个session_id,每一个session_id对应服务器端的一个session文件。这个session文件存储着当前session_id的信息,比如下面
阅读全文
posted @ 2021-02-03 13:58
李留广
阅读(211)
推荐(0)
摘要:
1、进程相关概念 进程:正在运行中的程序 内核功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等 Process:运行中的程序的一个副本,是被载入内存的一个指令集合 进程 ID(Process ID,PID)号码被用来标记各个进程 通常从执行进程的用户来继承,存在生命周期 task
阅读全文
posted @ 2021-01-29 16:09
李留广
阅读(421)
推荐(0)
摘要:
PHP-FPM 提供了更好的 PHP 进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。那么当我们谈论 PHP-FPM 多进程模型的时候,作为 PHPer 的你了解多少呢? 首先,让我们一起看几个问题:①:PHP-FPM 启动进程的方式主要有哪几种,区别是什么?②:PHP-FPM,是主进
阅读全文
posted @ 2021-01-28 10:46
李留广
阅读(648)
推荐(0)
摘要:
php-fpm的进程数可以根据设置分为动态和静态。 静态:直接开启指定数量的php-fpm进程,不再增加或者减少;动态:开始的时候开启一定数量php-fpm进程,当请求变大的时候,动态的增加php-fpm进程数到上限,当空闲的时候自动释放空闲进程数到一个下限。 这两种不同的执行方式,可以根据服务器实
阅读全文
posted @ 2021-01-26 15:17
李留广
阅读(589)
推荐(0)
摘要:
同步与异步 同步与异步的理解 同步与异步的重点在消息通知的方式上,也就是调用结果通知的方式。 同步:当一个同步调用发出去后,调用者要一直等待调用结果的通知后,才能进行后续的执行。 异步:当一个异步调用发出去后,调用者不能立即得到调用结果的返回。 异步调用,要想获得结果,一般有两种方式: 1、主动轮询
阅读全文
posted @ 2021-01-25 13:56
李留广
阅读(1088)
推荐(0)
摘要:
由于悲观锁在开始读取时即开始锁定,因此在并发访问较大的情况下性能会变差。对MySQL Inodb来说,通过指定明确主键方式查找数据会单行锁定,而查询范围操作或者非主键操作将会锁表。 接下来,我们看一下如何使用乐观锁解决这个问题。 MYSQL 首先我们为counter表增加一列update_time字
阅读全文
posted @ 2021-01-25 09:29
李留广
阅读(656)
推荐(0)