- 博客(6)
- 收藏
- 关注
原创 AC自动机
使用场景针对敏感词的过滤,如淘宝用户每天的评论数有几亿、甚至几十亿,如果快速高效的过滤掉一堆敏感词汇呢?本文将讲解一种多模式匹配算法----AC自动机;简述AC自动机算法是构造一个Trie树,然后再添加额外的失败指针。这些额外的适配指针准许在查找字符串失败的时候进行回退(例如在Trie树种查找单词bef失败后,但是在Trie树种存中bea这个单词,失配指针会指向前缀be),转向某些前缀分支,免于重复匹配前缀,提高算法效率。下面主要通过Trie树、失败指针、匹配查找三部分进行简述.
2021-08-26 20:12:02
162
原创 rocketMq-消息存储-consumeQueue
前言上篇文章介绍了,消息存储,把所有队列的消息存储在commitLog大文件,然而我们消费的时候是按照队列订阅的,如果要消费队列的一个消息,要去一个大文件(其实是多个物理文件,每个文件1G)去查找,不知道查到啥时候,因为无法定位这个消息在commitLog 哪里;所有才有了为每个队列建立索引,消息者根据queueId 去consumeQueue查找physicsOffset,在根据physicsOffset 找到消息consumeQueue流程介绍在broker 中,一个topic ...
2021-07-10 14:44:03
635
原创 rocketMq-消息存储-commitLog
简述 本文章主要先对rocketMq 流程简述如下:nameserv:看作注册中心,broker 启动要注册到nameserv中,同时要定时向nameserv发送心跳来告诉nameserv它还活着,然后nameserv除了维护broker信息,还要维护topic的信息,比如一个topic 消息发送到哪几个broker上,然后topic 分为几个message queue等等,现在我们只需要简单知道这个nameserv 维护这broker信息与topic 信息。broker:一个实例...
2021-07-10 14:42:25
1267
原创 Nacos-1.3.2之服务注册
说明本文以开源框架nacos,版本号为1.3.2针对服务的注册以及数据流转进行源码解析,核心会围绕两种数据一致性协议展开解析;Distro协议和raft协议;其中Distro协议属于自制的;raft协议基于raft算法实现;本文中也会添加本人一些理解或疑惑;Nacos源码下载地址:https://github.com/alibaba/nacos概念1.服务的数据结构2.Distro协议2.1.distro协议是为了注册中心而创造出的协议2.2.客户端以服...
2020-09-30 17:45:40
1006
原创 nacos-1.3.2 raft leader 选举源码解析
说明本文以开源框架nacos,版本号为1.3.2针对leader 的选举进行源码解析 ,leader 选举采用raft 算法实现,所以对raft 算法原理也会进行阐述;Nacos源码下载地址:https://github.com/alibaba/nacosRaft 算法原理Raft理论是分布式数据一致性算法,为了便于理解Raft算法分成了4个部分:-Leader选举-日志复制-成员变更-日志压缩本文章只讲述leader 选举系统角色:Leader、Candidate、Follo.
2020-08-21 18:26:49
1369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人