自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring中的用到的设计模式

1、单例模式意义:1、减少性能开销,避免对象频繁创建销毁; 2、避免资源多重占用,如同时对同一个文件做写操作场景:1、唯一序列号 2、访问量 3、创建一个对象需要消耗的资源过多,如要访问IO和数据库等资源应用:spring中的每个bean(默认是饿汉,容器的初始化的时候就已经将所有的bean都加载进去了,@Lazy 注解能设置成懒汉单例模式)// 饿汉单例模式,对象初始化的时候就已经创建,性能更好public class Singleton1.

2022-02-25 15:22:52 550 1

原创 java面试题

分布式面试题:Springcloud面试题:https://www.fangzhipeng.com/spring-cloud.html(入门)https://blog.csdn.net/hjq_ku/article/details/89504229https://blog.csdn.net/qq_42629110/article/details/84963815https://...

2019-08-13 17:28:34 11047 5

原创 springboot+rabbitmq两小时入门(十):rabbitmq面试题

1、生产者发送失败怎么办,消费者消费失败怎么办?参考springboot+rabbitmq两小时入门(七):生产者发送失败和消费者消费失败处理。2、如何保证消息按顺序执行参考如何保证消息按顺序执行。3. 如何避免消息重复投递或重复消费?在消息生产时,MQ内部针对每条生产者发送的消息生成一个inner-msg-id,作为去重和幂等的依据(消息投递失败并重传),避免重复...

2019-08-12 15:33:10 1179

原创 springboot+rabbitmq两小时入门(九):如何保证消息按顺序执行

下面1到3是摘自https://cloud.tencent.com/developer/article/1469388,红字是订正过后的,4是自己总结的。1.为什么要保证顺序消息队列中的若干消息如果是对同一个数据进行操作,这些操作具有前后的关系,必须要按前后的顺序执行,否则就会造成数据异常。举例: 比如通过mysql binlog进行两个数据库的数据同步,由于对数据库的数据操作是具有顺序性...

2019-08-12 15:33:02 4896 2

原创 springboot+rabbitmq两小时入门(一):rabbitmq简介

作用:1、异步处理提高系统性能(生产者只管把消息发出去,消费者什么时候消费,生产者不用管)。2、降低系统耦合性。3、流量削峰,高并发下,mq作为临时容器将消息存起来,消费者根据数据库的能力采取拉模式拉取所有消息然后分页执行。4、消息分发,通过扇型交换机(Fanout exchange)或者多重绑定,可以将消息发给多个队列。5、延时任务,比如超时未支付等通过延时交换机(Delay...

2019-08-09 12:17:03 815

原创 springboot+rabbitmq两小时入门(二):消费者多线程

概要:消费一条消息往往比产生一条消息慢很多,为了防止消息积压,一般需要开启消费者多线程同时消费消息。application.properties配置:spring.rabbitmq.host=localhost# TCP/IP端口为5672,http端口为15672spring.rabbitmq.port=5672spring.rabbitmq.username=ro...

2019-08-09 12:15:20 11580 12

原创 springboot+rabbitmq两小时入门(三):多重绑定

概要:rabbitmq中,一个queue可以绑定多个routingkey,一个routingkey可以绑定多个queue。(下面demo演示的是一个queue可以绑定多个routingkey)application.properties配置:spring.rabbitmq.host=localhost# TCP/IP端口为5672,http端口为15672spring.r...

2019-08-09 12:14:49 1825

原创 springboot+rabbitmq两小时入门(四):fanout交换机

概要:广播交换机,忽略routingkey,把所有发送到当前交换机的消息全部路由到所有与当前交换机绑定的队列中去。application.properties配置:spring.rabbitmq.host=localhost# TCP/IP端口为5672,http端口为15672spring.rabbitmq.port=5672spring.rabbitmq.user...

2019-08-09 12:14:18 586

原创 springboot+rabbitmq两小时入门(五):Topic交换机

概要:主题交换机,所有符合的routingkey都可以匹配。这种模式下的routingkey必须是由点分开的一串单词。可以由多个单词,但是有最大限制。最大限制是:255bytes。 匹配规则: *:表示匹配任意一个单词 #:表示匹配任意一个或多个单词。application.properties配置...

2019-08-09 12:13:44 366

原创 springboot+rabbitmq两小时入门(六):延时交换机

概要:外卖软件中的超时未接单、超时未支付、超时未上门、超时自动确认等功能非常适合通过延时交换机(Delayed message exchange)实现。延迟交换机有2种实现方法,一种是用死信交换机,一种是安装插件(推荐),这里写的插件方式实现。Windows配置:在rabbitmq 3.5.7及以上的版本提供了一个插件(rabbitmq-delayed-message-exc...

2019-08-09 12:13:09 1074

原创 springboot+rabbitmq两小时入门(七):生产者发送失败和消费者消费失败处理

消息队列经常会发送失败和消费失败,这两种问题在日常工作中式不可忽视的。消息发送失败情况:1、网络抖动导致生产者和mq之间的连接中断,导致消息都没发。答:rabbitmq有自动重连机制,叫retry。具体到rabbitTemplate中叫retryTemplate,可以通过设置retryTemplate来设置重连次数。 1.1、到了重连次数了,还是没连上怎么办呢?造成...

2019-08-09 12:12:35 8853 17

原创 springboot+rabbitmq两小时入门(八):死信交换机

概要:对于消费失败、消息过期、队列超载的消息,我们可以通过给队列(queue)配置x-dead-letter-exchange和x-dead-letter-routing-key属性,将另一个交换机关联为这个队列(queue)的死信交换机(Dead letter exchange),并把消息转发过去。该队列所有Nack、Reject、消息过期、队列超载的消息都会自动投递到死信交换机。...

2019-08-09 12:12:03 1591

空空如也

空空如也

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

TA关注的人

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