面朝大海,春暖花开

IN IT && WIN IT

rabbitmq生产者消息确认机制

rabbitmq生产者消息确认机制 问题描述 当生产者发送消息给rabbitmq服务器时,消息是否真正的到达了服务器?为了保证生产者发送的消息能够可靠的发送到服务器(即消息落地),rabbitmq提供了两种方式: 通过事务实现 通过发送方确认机制(publisher confirm)实现 事务...

2019-05-19 18:25:39

阅读数 49

评论数 0

rabbitmq过期时间

rabbitmq过期时间(TTL) TTL,Time-to-Live。rabbitmq支持对消息和队列设置TTL 消息设置TTL 消息在队列中的生存时间超过设置的TTL时,就会变成死信 队列中设置消息TTL 在队列中设置消息的TTL,那么队列中的所有消息都有相同的过期时间,可以通过声明队列的时...

2019-05-19 16:16:50

阅读数 35

评论数 0

rabbitmq的消息模式

rabbitmq的消息模式(message pattern) rabbitmq的消息模型是基于交换器(exchange),队列(queue)和它们之间的绑定(bingdings),有以下几种: For point-to-point communication between the publis...

2019-05-19 16:15:54

阅读数 26

评论数 0

rabbitmq持久化

rabbitmq持久化 持久化是为提高rabbitmq消息的可靠性,防止在异常情况(重启,关闭,宕机)下数据的丢失 rabbitmq持久化分为三个部分: 交换器的持久化、队列的持久化和消息的持久化 交换器的持久化 交换器的持久化是通过声明队列时,将durable参数设置为true实现的。如果交...

2019-05-19 12:02:25

阅读数 26

评论数 0

rabbitmq优先队列

rabbitmq优先队列 优先队列:顾名思义,拥有高优先级的队列具有高的优先权,优先级高的消息具备优先被消费的权力 在rabbitmq中,优先队列有两种概念: 队列优先级 队列中的消息优先级 队列优先级 可以在声明队列的时候设置x-max-priority参数来定义一个优先队列: Map&...

2019-05-19 11:29:43

阅读数 33

评论数 0

rabbitmq实现延迟队列

rabbitmq实现延迟队列 延迟队列串存储的对象是对应的延迟消息。rabbitmq本身没有支持延迟队列的功能,通过DLX(死信队列)+TTL消息模拟延迟队列 延迟消息是指消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到消息并消费 延迟队列场景 订单系统中,如果...

2019-05-19 10:45:20

阅读数 27

评论数 0

rabbitmq死信队列

rabbitmq死信队列 DLX,全称为Dead-Letter-Exchange,可以称为死信交换器。当消息在一个队列串变成死信(dead message)之后,它能被重新发送到另一个交换器中,这个交换器就是DLX,绑定DLX的队列称为死信队列 消息就死信队列原因: 消息被拒绝(Basic.Re...

2019-05-18 23:04:47

阅读数 6

评论数 0

rabbitmq消费端确认机制

rabbitmq消费端确认机制 为了保证消息从队列可靠的到达消费者,rabbitmq提供了消息确认机制(message acknowledgement)。 消息确认 消费者在订阅队列时,可以指定autoAck参数: 当autoAck等于true时,rabbitmq会自动把发送出去的消息置为确认,...

2019-05-18 23:02:11

阅读数 10

评论数 0

rabbitmq消费消息的模式

rabbitmq消费消息的模式 rabbitmq的消费模式分为两种: 推(Push)模式和拉(Pull)模式。推模式采用Basic.Consume进行消费,而拉模式则是调用Basic.Get模式 推模式 接收消息一般通过实现Consumer接口或者继承DefaultConsumer接口来实现 拉模...

2019-05-18 23:01:26

阅读数 10

评论数 0

zuul实现限流

zuul限流 限流算法 漏桶: leakey bucket,原理:桶的下方的小孔会以一个相对恒定的速率漏水,而不管入桶的水流量,这样就达到了控制出水口的流量 令牌桶: token bucket,原理:以相对恒定的速率向桶中加入令牌,请求来时于桶中取令牌,取到了就放行,没能取到令牌的请求则丢弃 ...

2019-05-18 10:14:31

阅读数 25

评论数 0

rabbitmq消息投递接收流程

rabbitmq消息投递接收流程 摘自《rabbitmq实战指南》 消息投递 消息投递指的是生产发送消息的过程: 生产者连接到rabbitmq broker,建立连接(Connection),开启一个信道(Channel) 生产者声明一个交换器,设置交换器类型和是否持久化的属性 生产者声明一个队...

2019-05-18 09:38:58

阅读数 24

评论数 0

rabbitmq概念

rabbitmq基本概念 摘自《rabbitmq实战指南》 生产者和消费者 Producer: 生产者,投递消息的一方 Consumer: 消费者,接收消息的一方 Broker: 消息中间件的服务节点 队列 Queue: 队列,是rabbitmq的内部对象,用于存储消息 交换器、路由和绑定...

2019-05-18 09:37:45

阅读数 26

评论数 0

范型的继承

范型的继承 子类继承父类结果: 保持子类的范型化 子类不再范型化 一般的范型继承 范型父类: public class FatherFoo <T, E> { private T t; private E e; public T getT...

2019-05-18 08:13:34

阅读数 24

评论数 0

spring源码之InstantiationAwareBeanPostProcessor

spring源码之InstantiationAwareBeanPostProcessor BeanPostProcessor的子接口,添加了实例化之前(before-instantiation)的回调,和实例化之后(after instantiation)的回调,但是这些操作发生在显示的设置属性...

2019-05-11 10:12:40

阅读数 13

评论数 0

spring源码之BeanPostProcessor

spring源码之BeanPostProcessor 工厂式的钩子方法,用来对于一个新的实例化之后的bean进行自定义的修改(custom modification),比如,校验标记接口(如 Serializable), 用代理类来封闭这个bean。spring内部的Aop实现也是通过BeanP...

2019-05-11 10:10:44

阅读数 15

评论数 0

zuul网关上传文件

zuul网关上传文件 在zuul网关工程加入实现上传功能的逻辑: @RestController public class UploadController { @PostMapping(value = "/upload") public String up...

2019-05-04 17:09:03

阅读数 14

评论数 0

ribbon不使用eureka,直连服务

ribbon不使用eureka,直连服务 Greenwich.SR1版本 在默认情况下,ribbon客户端会从eureka注册中心服务注册的信息列表,来达到动态负载均衡的功能,但有些时候可以需要直连某个服务,绕过eureka注册中心 解决方案 首先在ribbon中禁用eureka的功能: ribb...

2019-05-04 09:48:00

阅读数 27

评论数 0

ribbon的饥饿加载

ribbon的饥饿加载 Greenwich.SR1版本 ribbon在进行客户端负载均衡的时候并不是在启动的时候就加载上下文的,而是在实际请求的时候才会创建,所以第一次调用会比较慢,严重的时候会引起调用超时 解决方案 通过指定具体的ribbon客户端名称来开启饥饿加载,在启动的时候便加载所有配置项...

2019-05-04 09:47:07

阅读数 13

评论数 0

ribbon负载均衡策略

ribbon负载均衡策略 Greenwich.SR1版本 类 中文 描述 RandomRule 随机策略 随机选择server RoundRobinRule 轮询策略 按顺序循环选择server RetryRule 重试策略 在配置时间内选择server不成功,则一直尝试选...

2019-05-04 09:46:34

阅读数 13

评论数 0

Feign结合Hystrix首次请求失败问题

Feign结合Hystrix首次请求失败问题 问题描述 同题… 分析 Hystrix默认超时时间是1秒,如果超出这个时间尚未做出反应m,就会进入fallback,由于Bean的装配和懒加载机制,Feign首次请求都会加载比较慢 解决方案 1.设置hystrix超时时间 hystrix: com...

2019-05-03 22:31:05

阅读数 14

评论数 0

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