自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 redis专栏

用户请求的数据在缓存中不存在,数据库也不存在,导致每次都去查询数据库,返回空。不断请求系统中不存在的数据,每次都去数据库查,造成数据库压力过大。解决方案:1.缓存空数据:当查询返回的数据为空,仍把这个空结果进行缓存2.使用锁: 当发现缓存不存在时,可以使用锁来避免多个相同请求同时访问数据库,3.布隆过滤器: 一种数据结构,快速判断一个元素是否存在于一个集合中在查询redis之前经过布隆过滤器过滤一遍,没有则直接返回空。

2024-06-05 18:23:08 600

原创 延迟消息处理

如果队列通过dead-letter-exchange属性指定了一个交换机,那么该队列中的死信就会投递到这个交换机中,这个交换机称为死信交换机(Dead Letter Exchange,简称DLX).RabbitMQ的官方也推出了一个插件,原生支持延迟消息功能。该插件的原理是设计了一种支持延迟消息功能的交换机,当消息投递到交换机后可以暂存一定时间,到期后再投递到队列。延迟消息:生产者发送消息时指定一个时间,消费者不会立刻收到消息,而是在指定时间之后才收到消息。延时任务: 设定在一定时间之后才执行的任务。

2024-05-24 10:56:06 295

原创 MQ的可靠性

消费者如何保证消息一定被消费?开启消费者确认机制为auto,由spring确认消息处理成功后返回ack,异常时返回nack开启消费者失败重试机制,并设置MessageRecoverer,多次重试失败后将消息投递到异常交换机,交由人工处理。

2024-05-22 16:22:59 884

原创 MQ的相关问题

RabbitMQ给出了Publisher Confirm和Publisher Return两种确认机制.开启确认机制后,在MQ成功收到消息后会返回确认消息给生产者。当网络不稳定的时候,利用重试机制可以有效提高消息发送的成功率。不过SpringAMQP提供的重试机制是阻塞式的重试,也就是说多次重试等待的过程中,当前线程是被阻塞的,会影响业务性能。用mq做消息代理,当mq的信息发送不到交易服务时,会造成消息的丢失问题。1.支付服务到消息代理的过程中消息丢失。3.消息代理到交易服务过程中消息丢失。

2024-05-20 16:58:51 473 2

原创 消息转换器

Spring的对消息对象的处理是由org.springframework.amqp.support.converter.MessageConverter来处理的。而默认实现是SimpleMessageConverter,基于JDK的ObjectOutputStream完成序列化。需求:改造余额支付功能,不再同步调用交易服务的OpenFeign接口,而是采用异步MQ通知交易服务更新订单状态。下面修该生产者的serviceImpl代码,改同步调用为异步调用。

2024-05-20 09:19:48 190

原创 rabbitMQ-2

rabbitMQ操作平台。rabbitMQ操作平台。

2024-05-16 16:59:11 196 3

原创 RabbitMQ

TopicExchange和DirectExchange类似,区别在于routingKey可以是多个单词的列表,并且以.分割。Direct交换机:会将接收到的消息根据路由规则路由到指定的Queue,因此称为定向路由。通过绑定routingKey来实现消息的指定发送。关心以china打头的后面跟一个单词的情况。可以用direct实现广播的功能。关心以china打头的所有的情况。#: 代指0个或者多个单词。

2024-05-16 14:24:09 472 1

原创 自定义分词器和自动补全

PUT /test"analyzer":{ //自定义分词器"my_analyzer":{ //分词器名称},"filter":{ //自定义tokenizer filter"py":{ //过滤器名称"type": "pinyin", //过滤器类型,这里是pinyin},

2024-05-11 16:58:54 295 1

原创 RestClient查询

全文检索的match和multi_match查询与match_all的API基本一致。差别是查询条件,也就是query的部分。searchRequest.source()用来做为dsl的query字段,QueryBuilders用来调用各种查询条件。我们通过match_all查询所有的文档内容来演示下基本的API,先看请求的DSL的组织。我们先看请求的DSL构建。搜索结果的排序和分页是与query同级的参数,对应的API如下。小tips:ctrl+alt+m 抽取公共方法。

2024-05-09 16:26:47 281 1

原创 es分页与高亮处理

分页:es默认情况下只返回top10的数据,而如果要查询更多数据,就需要修改分页参数了。

2024-05-09 11:16:11 357 2

原创 es排序说明

es支持对搜索结果排序,默认是根据相关度算分(_score)来排序。可以排序字段类型有:keyword类型,数值类型,地理坐标类型,日期类型等。对酒店数据按照用户评价降序排序,评价相同的按照价格升序排序。

2024-05-09 09:55:48 634

原创 瑞吉外卖-后台登录功能

瑞吉外卖-后台登陆实现

2023-03-02 18:07:26 858

原创 瑞吉外卖1.0

瑞吉外卖

2023-03-02 14:29:19 226 2

rabbitMQ延迟消息插件

rabbitMQ延迟消息插件

2024-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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