摘要:
跳表 跳表是什么? 就是把链表的结构稍加改造,这种数据结构叫 为什么要改造链表呢? 为了提升链表的查询效率,怎么让链表支持类似‘数组’那样的‘二分’算法呢 简单理解跳表 跳表是一个各方面性能都比较优秀的 动态数据结构,可以支持快速地插入、删除、查找操作,写起来也不复杂,甚至可以替代红黑树。 Redi
阅读全文
posted @ 2021-09-14 10:06
李留广
阅读(615)
推荐(0)
摘要:
RabbitMQ消息处理失败,我们会让失败消息进入重试队列等待执行,因为在重试队列距离真正执行还需要定义的时间间隔,因此,我们可以将重试队列设置成延时处理。今天参考网上其他人的实现,简单梳理下消息延时重试执行的思路。 消费失败后,自动延时将消息重新投递,当达到一定的重试次数后,将消息投递到失败消息队
阅读全文
posted @ 2021-09-09 17:18
李留广
阅读(222)
推荐(0)
摘要:
1)并发 并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 2)我们说的高并发是什么? 上面的定义明显不是我们通常所言的并发,在互联网时代,所讲的并发、高并发,通常是指并发访问。也就是在某
阅读全文
posted @ 2021-08-26 09:54
李留广
阅读(270)
推荐(0)
摘要:
可能出现消息丢失的情况? Producer在把Message发送Broker的过程中,因为网络问题等发生丢失,或者Message到了Broker,但是出了问题,没有保存下来 针对这个问题,Producer可以开启MQ的事务,如果这个过程出现异常,进行回滚,但是有个很大的问题,你提交一个事务就会阻塞在
阅读全文
posted @ 2021-08-03 10:25
李留广
阅读(182)
推荐(0)
摘要:
如果只是网络抖动 出现异常那么直接进入死信队列 那么是不合理的 这就可以使用延时重试队列 原理: 1.发送到业务队里 如果正常收到 正常运行 2.如果处理失败 重试 并投入延时队列 如果超过延时时间 重新投入业务队列 3.如果重试次数大于3 那么进入死信队列 搭建代码框架创建测试项目的目录 mq从
阅读全文
posted @ 2021-07-22 09:11
李留广
阅读(356)
推荐(0)
摘要:
IO多路复用之select、poll、epoll详解 目前支持I/O多路复用的系统调用有 select,pselect,poll,epoll,I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,ps
阅读全文
posted @ 2021-07-21 16:48
李留广
阅读(253)
推荐(0)
摘要:
伴随着微服务架构的快速发展,各种开发语言各种类型的微服务开发框架陆续出现,在近日举办的 PHPCon 大会上,来自开源微服务框架 TARS 核心开发组的梁晨,为开发者分享了 TARS-PHP 在 TARS 构建微服务生态中扮演的角色。梁晨同时也是 TARS-PHP 项目的主要负责人,以下是本次演讲全
阅读全文
posted @ 2021-07-14 13:03
李留广
阅读(189)
推荐(0)
摘要:
High Level Consumer APILow Level Consumer API对于开发这来说,选用哪个,首先要弄清楚这两种API的工作原理什么样,分别开放了哪些功能。 High Level Consumer API说明 High Level Consumer API围绕着Consumer
阅读全文
posted @ 2021-04-07 14:25
李留广
阅读(417)
推荐(0)
摘要:
一、控制器层的更新、添加、删除 class AddKnowledgeAction extends CAction { //add and update public function actionPost() { if ($_POST) { //如果是post操作 $res = array('cod
阅读全文
posted @ 2021-04-01 16:07
李留广
阅读(131)
推荐(0)
摘要:
目录 一、Kafka的架构 二、Topics和Partition 三、Producer消息路由 四、Consumer Group 五、Push vs. Pull 六、Kafka delivery guarantee 正文 回到顶部 一、Kafka的架构 如上图所示,一个典型的Kafka集群中包含若干
阅读全文
posted @ 2021-03-16 10:13
李留广
阅读(88)
推荐(0)