Spring Boot中使用SSE推送消息

Spring Boot中使用SSE推送消息服务器发送事件(Server-sent Events)是一种服务器向客户端发送事件和数据的单向通讯。SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端。服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。优缺点优点:开发简单,和传统的http开发几乎

- 阅读全文 -

Spring Boot中使用长轮询推送消息

Spring Boot中使用长轮询推送消息长轮询是对上边短轮询的一种改进版本,在尽可能减少对服务器资源浪费的同时,保证消息的相对实时性。长轮询在中间件中应用的很广泛,比如Nacos和apollo配置中心,消息队列kafka、RocketMQ中都有用到长轮询。这次我使用apollo配置中心实现长轮询的方式,应用了一个类DeferredResult,它是在servelet3.0后经过Spring封装提

- 阅读全文 -

springboot中geo的使用

在springboot 中使用;spring data elasticsearch和 spring data mongodb 利用spring的api;非手写查询条件mongodbhttps://www.jianshu.com/p/7597a24246c2https://blog.csdn.net/zhanglf02/article/details/103204354elasticsearchht

- 阅读全文 -

延时任务的实现方法

延时任务的实现方法一、Java延迟队列实现该方案是利用 JDK 自带的 DelayQueue 来实现,这是一个无界阻塞队列,该队列只有在延迟期满的时候才能从中获取元素,放入 DelayQueue 中的对象,是必须实现 Delayed 接口的。DelayedQueue 实现工作流程如下图所示其中Poll():获取并移除队列的超时元素,没有则返回空take():获取并移除队列的超时元素,如果没有则 w

- 阅读全文 -

RabbitMQ的死信队列和延时队列

RabbitMQ的死信队列和延时队列1. 死信队列&死信交换器:DLX 全称(Dead-Letter-Exchange),称之为死信交换器,当消息变成一个死信之后,如果这个消息所在的队列存在x-dead-letter-exchange参数,那么它会被发送到x-dead-letter-exchange对应值的交换器上,这个交换器就称之为死信交换器,与这个死信交换器绑定的队列就是死信队列。说实在的,死

- 阅读全文 -