看着蓝天抽支烟
码龄8年
关注
提问 私信
  • 博客:50,748
    50,748
    总访问量
  • 75
    原创
  • 905,985
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2016-11-17
博客简介:

qq_36740038的博客

查看详细资料
个人成就
  • 获得8次点赞
  • 内容获得5次评论
  • 获得53次收藏
  • 代码片获得184次分享
创作历程
  • 66篇
    2023年
  • 4篇
    2022年
  • 4篇
    2021年
  • 8篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • Sentinel
    3篇
  • Nacos
    5篇
  • rabbitmq
    4篇
  • ElasticSearch
    3篇
  • springcloud
    2篇
  • Spring
    2篇
  • kafka
    13篇
  • JAVA数据结构
    2篇
  • python
    1篇
  • 点云
    1篇
  • 算法
  • 技术
    2篇
  • JAVA
    10篇
  • C#
    1篇
  • Redis
    36篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

182人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Sentinel源码分析-ProceesorSlotChain调用链及树状资源节点

ClusterBuilderSlot 则用于存储资源的统计信息以及调用者信息,例如该资源的 RT, QPS, thread count 等等,这些信息将用作为多维度限流,降级的依据;ProcessorSlotChian 实现上述功能的骨架,这个类是基于责任链模式设计,将不同功能(限流,降级,系统保护)封装为一个个的Slot,请求进入后逐个执行。NodeSelectorSlot 负责收集资源的路径,并将这些资源的调用路径,以树状结构存储起来,用于根据调用路径来限流降级;责任链中Solt 也分为两大类。
原创
发布博客 2023.06.14 ·
1427 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Sentinel的限流和Gateway的限流差别?

并发的多个请求必须等待,预期的等待时长-最近一次请求的预期等待时间+允许的间隔。比如是1250ms 时来个请求,1250-1000=250, 250后面的第一个时区是500-100。限流算法常见的有三种实现:滑动时间窗口,令牌桶算法,漏桶算法。例如: QPS=5 ,意味这没200ms处理一个队列中的请求,timeout=2000,意味着预期等待超过2000ms的请求会被拒绝并抛出异常。观上图,这种算法使用问题的,在4500-5500ms 这1s内有6个请求通过。漏桶算法是对令牌桶算法的改进。
原创
发布博客 2023.06.14 ·
2728 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Sentinel与Hystix的线程隔离有什么差别

Hystix 默认是基于线程池实现线程隔离,每个被隔离的业务都要创建一个独立的线程池,线程过多会带来额外的CPU开销,性能一般,但是隔离性更强。Sentinel 是基于信号量(计算器)实现的线程隔离,不用线程池,性能较好,但是隔离性一般。Sentinel与Hystix的线程隔离有什么差别?
原创
发布博客 2023.06.14 ·
1544 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringCloud-Nacos与Euraka的异同

Nacos 与Eureka 的异同。
原创
发布博客 2023.06.14 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springcloud-Nacos临时实例永久实例

对于集群下的服务,Nacos ⼀个服务只会被 Nacos 集群中的⼀个注册中心所负责,其余节点的服务信息只是集群副本,用于订阅者在查询服务列表时,始终可以获取到全部的服务列表。临时实例只会对其被负责的注册中心节点发送心跳信息,注册中心服务节点会对其负责的永久实例进行健康探测,在获取到健康状态后由当前负责的注册中心节点将健康信息同步到集群中的其他的注册中心。临时实例会与注册中心保持心跳,注册中心在一段时间没有收到实例的心跳后,将实例设置为不健康,然后再一段时间后剔除。临时实例和永久实例的区别。
原创
发布博客 2023.06.14 ·
557 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springcloud-Nacos如何处理读写冲突问题

newSingleScheduledExecutor 线程池。
原创
发布博客 2023.06.14 ·
191 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springcloud-Nacos处理高并发的注册

添加服务第一 次判断 提供性能:避免多个线程同时在等 synchronzied 释放第二次 判断 : 别的线程可能已经将实例加入了 serviceMap()注意这里还有个ConcurrentSkipListMap 有利于提高读写性能。所以内层的Map 是个ConcurrentSkipLlistMap,添加实例。
原创
发布博客 2023.06.14 ·
1086 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springcloud-Nacos-注册表结构

然后是group,用来对服务的分组,接下来就是服务(Service)了,一个服务包含多个实例,但是可能处于不同的机房,因此Service下有多个集群(cluster).cluster 下面不同的实例。内存Map的Map的key 是groupName+ServiceName,值是Service 对象。Service 对象内部又是一个Map, key是集群名称,值是Cluster对象。问题说明:考察对Nacos数据分级结构的了解,以及Nacos源码的掌握情况。
原创
发布博客 2023.06.14 ·
181 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Rabbitmq-集群

镜像集群虽然支持主从,但主从同步并不是强一致性的,某些情况下可能有数据丢失的风险。因此在RabbitMq的3.8版本以后退出了新的功能:仲裁队列来替代镜像集群。底层采用Raft协议确保主从的数据一致性。RabbitMq是天然支持集群模式。是用来替换镜像队列的。
原创
发布博客 2023.06.13 ·
2148 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

RabbitMq消息堆积问题及惰性队列

普通的队列会设置一个预警值默认40% 当队列到了40%时,mqBroker 会阻止生产者发送消息。而惰性队列呢在接收消息后会直接写到磁盘,所以不会触发队列的存储预警,性能具有稳定性,延迟性。当生产者发送消息的速度超过了消费者处理的速度,就会导致队列的消息堆积,知道队列存储消息达到上限。最早接受的消息,可能就会成为死信,会被丢弃,这就是消息堆积问题。rabbitmq3.6.0 版本开始,新增了Lazy Queues概念,也就是惰性队列。正因为惰性队列支持百万的消息存储,所以用它来解决消息堆积问题再好不过了。
原创
发布博客 2023.06.13 ·
1737 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMq死信交换机

如果该队列设置了 dead-letter-exchange属性,指定了一个交换机,那么队列中的私信就会投递到这个交换机中,而这个交换机称为死信交换机(Dead Letter Exchagne,简称DLX)给队列设置dead-letter-routing-key属性,设置死信交换机与死信队列的routingkey。利用TTL结合死信交换机,我们实现了消息发出后,消费者延迟收到消息的效果。因为延迟队列的需求非常多,所以Rabbitmq 的官方也推出了一个插件,原生支持延迟队列的效果。通过下图 我们可以明白了,
原创
发布博客 2023.06.13 ·
2642 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ElasticSeach-自定义分词器

character filters : 在tokenizer 之前对文本进行处理,例如删除字符替换字符tokenizer: 将文本按照一定的规则切割成词条(term)。例如keyword就是不分词,还有ik_smarktokenizer-filters: 将tokenizer 输出的词条进一步处理。例如大小写转换,统一次处理,拼音处理等。创建索引时,使用拼音分词器查询文档时,不使用拼音分词器,用ik_max_smart或 ik_smart。
原创
发布博客 2023.06.09 ·
351 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ElasticSearch-文档操作

【代码】ElasticSearch-文档操作。
原创
发布博客 2023.06.08 ·
77 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ElasticSearch 索引库操作

mapping 是对象对索中文档的约束,常见的mappings属性包括。
原创
发布博客 2023.06.08 ·
67 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

RabbitMq-Exchange

【代码】RabbitMq-Exchange。
原创
发布博客 2023.06.08 ·
94 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

SpringCloud-Gateway过滤器

请求进入网关会碰到三类过滤器: 当前路由的过滤器,DefaultFilter,GlobalFilter.请求路由后,会将当前路由过滤器和DefaultFilter,GlobalFilter,合并到一个过滤器连中。排序后后一次执行。这 也是全局过滤器 上要加@Order 或实现getOrder()方法的原因。
原创
发布博客 2023.06.07 ·
843 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springcloud-统一网关Gateway

性能比Zuul(基于Servlet 阻塞)好。
原创
发布博客 2023.06.07 ·
69 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring 三级缓存

A 注入到C,A注入到B,又需要从第三级缓存中获取实例,而第三级缓存里保存的并非真正的实例对象,而是ObjectFactory对象。不提前创建好代理对象,在出现循环依赖被其他对象注入时,才实时生成代理对象。其实A对象的实例已经被添加到第二级缓存中了,而在A注入到C时,只用从第二级缓存中获取该对象即可。不管有没有循环依赖,都提前创建好代理对象,并将代理对象放入缓存,出现循环依赖时,其他对象直接就可以取到代理对象并注入。如果创建的Bean有对应的代理,那其他对象注入时,注入的应该是对应的代理对象;
原创
发布博客 2023.06.07 ·
1028 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kafka-broker-文件清理策略

考虑一个问题压缩方式。
原创
发布博客 2023.06.02 ·
80 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

kafka-broker-文件存储机制

Topic 是逻辑上的概念,而partition是物理上的概念, 每个 partition 对应一个log文件,该log文件中存储的就是producer生产的数据。Producer生产的数据会被不断追加到该log文件夹的末端,为了防止log文件过大而导致数据查询效率低下,Kafka采取了分片和索引机制,将每个partition分为多个segment.每个segment包括: “.index”文件和 “.log”文件及.timeindex 等文件。
原创
发布博客 2023.06.02 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多