Java中如何实现一个回调函数

java 

有时候,我们可能想在自己的也会方法中通过不同的中间返回结果,来执行不同的操作,听起来似乎可以使用if-else来进行分支实现,但是有时候背后的业务十分复杂,或者是中间业务根本没有返回值等,这时候就很难通过if-else来判断。效果以下的代码中,当send()方法成功处理时,执行onSuccess()

RocketMQ支持任意时间的延时消息 解决方案

方案一由于RocketMQ只有固定的延时等级,如下:public enum DelayTimeLevel { NO_NEED_TO_DELAY

Spring基本概念小记

spring 

SpringSpring 中的IOC(控制反转)以前创建对象都是通过new的形式来创建的,比如在项目中,Controller层需要Service的对象,需要在Controller中new出来使用才行,但是,随着业务的增加,Controller也随之对了起来,相对应的Service也new的越来越多,

微服务系列之 初识Sentinel

开始之前,先了解一下什么叫做雪崩问题1.1.雪崩问题及解决方案1.1.1.雪崩问题微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被阻塞。此时,其它不依赖于服务I的业务似乎不受影响。但是,依赖服务I

微服务系列之 发布订阅-TopicExchange

概述TopicExchange与DirectExchange类似,区别在于routingKey必须是多个单词的列表,并且以 · 分割。Queue与Exchange指定BindingKey时可以使用通配符:#:代指0个或多个单词*:代指一个单词利用SpringAMQP演示TopicExchange

微服务系列之 发布订阅-Direct Exchange

概述Direct Exchange 会将接收到的消息根据规则路由到指定的Queue,因此称为路由模式(routes)。每一个Queue都与Exchange设置一个BindingKey发布者发送消息时,指定消息的RoutingKeyExchange将消息路由到BindingKey与消息RoutingK

微服务系列之 发布订阅-Fanout Exchange

概述Fanout Exchange 会将接收到的消息广播到每一个跟其绑定的queue生产者将消息发送到交换机,由交换机再去发给绑定该交换机的所有队列,每个队列接受到的消息都是一样的,再有消费者去消费,注意,此处的交换机exchange并不存储消息,存储消息的是队列queue。SpringAMQP提供

微服务系列之 Work Queue 工作队列

概述Work queue,工作队列,可以提高消息处理速度,避免队列消息堆积模拟WorkQueue,实现一个队列绑定多个消费者基本思路如下:在publisher服务中定义测试方法,每秒产生50条消息,发送到simple.queue在consumer服务中定义两个消息监听者,都监听simple.queu

微服务系列之 SpringAMQP实现消息的发送与接受(生产与消费)

什么是AMQPSpringAMQP实现消息的发送#####依赖 <!--AMQP依赖,包含RabbitMQ--> <dependency> <groupId>org.springframework.boot<

微服务系列之 统一网关Gateway--限流过滤器,限流算法简介


概述限流:对应用服务器的请求做限制,避免因过多请求而导致服务器过载甚至宕机。限流算法常见的包括两种:计数器算法,又包括窗口计数器算法、滑动窗口计数器算法漏桶算法(Leaky Bucket)令牌桶算法(Token Bucket)计数器算法固定窗口计数器算法概念如下:将时间划分为多个窗口;在每个窗口内每