自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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-消息存储-buildIndex

前言

2021-07-10 14:43:33 267

原创 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关注的人

提示
确定要删除当前文章?
取消 删除