摘要:从最开始的使用redis实现的单进程消费的异步任务系统到加入swoole的多进程消费模式,现在,我们的异步任务系统终于又能迈进一步。 因为有了前面两个简单系统的经验,这回基于RabbitMQ的异步任务系统设计的的更加完善,包括多进程消费,异常重试等。 系统介绍 消费端架构图 从图中可以看到,我们这个 阅读全文
posted @ 2020-03-17 14:25 八重樱 阅读(477) 评论(1) 推荐(1) 编辑
摘要:延迟队列,顾名思义它是一种带有延迟功能的消息队列。那么,是在什么场景下我才需要这样的队列呢? 1. 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何及时的关闭订单 如何定期检查处于退款状态的订单是否已经退款成功 在订单长时间没有收到下游系统的状态通知的时候,如何实现阶梯式的同步订单状 阅读全文
posted @ 2020-07-13 19:45 八重樱 阅读(309) 评论(0) 推荐(0) 编辑
摘要:本文是最初是来自国外的这篇:PHP Performance Evolution 2016, 感谢高可用架构公众号翻译成了中文版, 此处是转载的高可用架构翻译后的文章从PHP 5到PHP 7性能全评测(含未发布的JIT版PHP 8对比), 稍微调整了格式而成。 导读:PHP 是 Web 开发最常用的语 阅读全文
posted @ 2020-07-11 20:44 八重樱 阅读(55) 评论(0) 推荐(0) 编辑
摘要:PHP8 的 Alpha 版本,过几天就要发布了,其中包含了不少的新特性,当然我自己认为最重要的还是 JIT,这个我从 2013 年开始参与,中间挫折无数,失败无数后,终于要发布的东东。 不过,今天呢,我不打算谈 JIT,等 PHP8 发布了以后,我再单独写个类似《深入理解 PHP8 之 JIT》系 阅读全文
posted @ 2020-07-10 20:16 八重樱 阅读(140) 评论(0) 推荐(0) 编辑
摘要:一、单节点实例 单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个 Redis 还是很轻松的,做为一个 key/value 数据库也是可以胜任的 二、主从模式(master/slaver) redis 主从模式配置 主从模式: redis 的主从模式,使用异步复制,sl 阅读全文
posted @ 2020-07-09 20:00 八重樱 阅读(115) 评论(0) 推荐(0) 编辑
摘要:string 字符串 tring 类型是二进制安全的,即 string 中可以包含任何数据。 Redis 中的普通 string 采用 raw encoding 即原始编码方式,该编码方式会动态扩容,并通过提前预分配冗余空间,来减少内存频繁分配的开销。 在字符串长度小于 1MB 时,按所需长度的 2 阅读全文
posted @ 2020-07-04 20:21 八重樱 阅读(66) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ 是一个由 erlang 开发的 AMQP(Advanced Message Queuing Protocol)的开源实现。 AMQP:高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦 阅读全文
posted @ 2020-07-03 14:33 八重樱 阅读(119) 评论(0) 推荐(0) 编辑
摘要:TCP 服务 swoole 文档 - TCP 服务 tcp 服务端 <?php // 1. 创建 swoole 默认创建的是一个同步的阻塞tcp服务 $host = "0.0.0.0"; // 0.0.0.0 代表接听所有 // 默认是tcp $serv = new Swoole\Server($h 阅读全文
posted @ 2020-07-02 14:46 八重樱 阅读(106) 评论(0) 推荐(0) 编辑
摘要:Redis限流的实现方式有3种,分别是:1、基于Redis的setnx的操作,给指定的key设置了过期实践;2、基于Redis的数据结构zset,将请求打造成一个zset数组;3、基于Redis的令牌桶算法,输出速率大于输入速率,就要限流。 第一种:基于Redis的setnx的操作 我们在使用Red 阅读全文
posted @ 2020-07-01 20:50 八重樱 阅读(106) 评论(0) 推荐(0) 编辑
摘要:前言 日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题。 一旦涉及大数据量的需求,如一些商品抢购的情景,或者主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度问题有严重的性能弊端,详细的磁 阅读全文
posted @ 2020-07-01 20:03 八重樱 阅读(235) 评论(0) 推荐(0) 编辑
摘要:IO(Input/Output,输入输出) 在计算机中,输入 / 输出(即 IO)是指信息处理系统(比如计算机)和外部世界(可以是人或其他信息处理系统)的通信。输入是指系统接收的信号或数据,输出是指从系统发出的数据或信号。由于程序和运行时数据是在内存中驻留,由 CPU 这个超快的计算核心来执行,涉及 阅读全文
posted @ 2020-06-30 20:38 八重樱 阅读(49) 评论(0) 推荐(0) 编辑