- 博客(18)
- 收藏
- 关注
原创 RabbitMQ 进阶
1)消息TTL过期2)队列达到最大长度队列满了,无法再添加数据到mq中3)消息被拒绝或并且// basicNack 消息的id,是否批量确认,是否允许返回队列// basicNack 消息的id,是否允许返回队列// basicAck 消息的id,是否批量确认。
2023-11-19 22:28:38
117
原创 RabbitMQ基础
MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常 见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。2、作用流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正 常时段我们下单一秒后就能返回结果。
2023-11-15 22:12:47
103
2
原创 分布式事务(二)seata
定义:强一致性分阶段事务模式,牺牲了一定的可用性,无业务侵入。XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。XA模式是一个强一致性的分阶段事务模式,当各个分支事务完成之后,不提交。等各个分支事务将自己的事务执行状态报告给TC,由TC决定是分支事务的提交还是回滚。
2023-11-12 00:52:10
257
1
原创 分布式事务(一)
类型说明当前存在事务,就归纳到这个事务里面。当前不存在事务,就新建事务,各自事务方法独立运行。当前存在事务,就归纳到这个事务里面。当前不存在事务,就以非事务运行,现象就是整体无事务当前存在事务,就归纳到这个事务里面。当前不存在事务,就直接报错当前存在事务,将这个事务挂起。新建事务,各自事务方法独立运行。当前不存在事务,就新建事务,各自事务方法独立运行。当前存在事务,就将这个事务挂起。以非事务方法运行。当前不存在事务,以非事务方法运行。当前存在事务,直接报错。当前不存在事务,以非事务方法运行。
2023-11-07 21:11:07
94
原创 微服务保护------之 Sentinel
Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.htmlSentinel熔断降级的策略:慢调用比例,异常比例,异常数。慢调用比例:超过指定时长的调用为慢调用,统计单位时长内慢调用的比例,超过阈值则熔断。异常比例:统计单位时长内异常调用的比例,超过阈值则熔断。异常数:统计单位时长内异常调用的次数,超过阈值则熔断。
2023-10-27 23:52:16
1753
1
原创 Sentinel的规则持久化操作文档
3. 修改 com.alibaba.csp.sentinel.dashboard.controller.v2包下的FlowControllerV2类。在sentinel-dashboard的test包下,已经编写了对nacos的支持,我们需要将其拷贝到main下。运行IDEA中的maven插件,编译和打包修改好的Sentinel-Dashboard。修改OrderService,让其监听Nacos中的sentinel规则配置。SentinelDashboard默认不支持nacos的持久化,需要修改源码。
2023-10-27 23:51:35
346
1
原创 分布式搜索引擎elasticsearch(三)
使用拼音分词要实现根据字母做补全,就必须对文档按照拼音分词。在GitHub上恰好有elasticsearch的拼音分词插件。
2023-10-22 14:17:49
62
1
原创 分布式搜索引擎elasticsearch(二)
过滤条件:哪些文档要加分算分函数:如何计算function score加权方式:function score 与 query score如何运算 "boost_mode"
2023-10-06 22:35:00
217
1
原创 分布式搜索引擎elasticsearch(一)
1)什么是文档词条?类似于 mysql的 表。每一条数据就是一个文档。对文档中的内容分词,得到的词语就是词条。2)什么是正向索引?基于文档id创建索引。查询词条时必须先找到文档,然后判断是否包含词条。3)什么是倒排索引?对文档的内容进行分词,对词条创建索引,并记录词条所在的文档的信息。查询时先根据词条查询得到文档,然后将文档根据分词频率(得分)按照先后后续展示出来。
2023-10-03 19:02:41
160
原创 Redis的哈希区分原理
现在在分布式的架构里面,有1亿条数据需要进行存储。此时只有一台Redis 是不够的,采取了多台Redis机器进行了分布式存储,类似于DB的分库分表一样存储,那么Redis是如何存储这些数据呢?这一亿条数据存入到不同Redis节点的算法是 如何的呢?注意:除非可以保证3年内Redis的机器不会增加和减少,可以使用这个方案,较为简单。
2023-07-23 21:24:24
109
原创 Redis的zset集合
取key1,key2,key3的集合的并集放到key集合里面,,由于需要取3个集合的并集,则num是3。返回值是并集的数量,也就是 key 集合的数量。取key1,key2,key3的集合的交集放到key集合里面,由于需要取3个集合的交集,则num是3。zset 是 set 的一个升级版本,它在 set 的基础上增加了一个顺序属性, 它和 set 一样,zset也是 string 类型元素的集合,且不允许重复的成员。返回指定集合【min ,max】区间的值,并进行分页-------返回值是升序排列。
2023-07-22 23:57:59
1433
原创 Redis的list专题
---------- 移出并获取列表的第一个或最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。----------- 移出并获取列表的第一个或最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。8、LREM key count value--------- 移除列表元素(从列表前面开始计算移除)-------移除列表的最后一个元素,并将该元素添加到另一个列表并返回。9、LPOP key ------从队列的头弹出节点元素(返回该元素并从队列中删除)
2023-07-16 16:49:21
99
1
原创 Redis的Hash 专题
Redis存储java对象,一般采取的是String和Hash 两种。问题:什么时候用String,什么时候用Hash呢?String 一般作用在 频繁的读操作里面。因为String 的存储格式是json,即把java对象转换为json,然后存入Redis。需要读取的时候直接整体读取,Json转换即可。Hash 一般应用在 频繁的写操作里面。因为当这个对象里面的属性值需要频繁修改的时候,使用String+json 的类型就需要,读取出来,转换对象,修改数据,转换Json,设置Redis。
2023-07-15 23:21:50
215
1
原创 CompletableFuture异步编程
如果需要回调方法对结果进行处理,并且需要回调方法处理完成之后,返回具体处理结果。则使用thenApply(Function)方法。如果需要回调方法对结果进行处理,回调方法处理完成之后,不返回具体处理结果。则使用thenAeecpt(Function) 方法。如果不对结果进行处理,只是通知开发完成异步方法的调用了,则使用thenRun(Function) 方法。需要注意的是,这三个方法都支持 lamda 表达式和链式调用。
2023-07-01 18:54:06
1653
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人