- 博客(368)
- 资源 (60)
- 收藏
- 关注
原创 Redis延迟队列及redisson delayqueue
Redis 延迟队列是一种使用 Redis 实现的消息队列,其中的消息在被消费之前会等待一段时间,这段时间就是延迟时间。延迟队列常用于一些需要延迟处理的任务场景,例如订单超时未支付取消、定时提醒等。
2025-03-27 14:14:11
340
原创 SSE(Server-Sent Events)主动推送消息
浏览器支持:WebSocket的浏览器支持更广泛,几乎所有现代浏览器都支持WebSocket;而长轮询的实现较复杂,需要处理连接的建立和断开,以及错误和超时等问题。SSE 是一种允许服务器单向发送事件到客户端的技术,它基于HTTP协议,服务器可以推送消息到客户端,但客户端不能向服务器发送消息。而长轮询适用于客户端需要定期获取新数据,但服务器不需要主动推送数据的场景。浏览器支持:与WebSocket相比,SSE和长轮询的浏览器支持都较差,但长轮询在更多的浏览器中被支持。WebSocket是一个独立的协议。
2024-12-13 10:51:57
566
原创 kafka广播消费组停机后未删除优化
kafka广播消息的时候为了保证groupId不重复,再创建的时间采用前缀+时间戳的形式,这样可以保证每次启动的时候是创建的新的,但是。会出现一个问题:就是每次停机或者重启都会新建一个应用实例,关闭应用后并不会删除kafka下面的消费组,导致消费组越来越多,目前。如果是iead直接关闭下,不要一下子点击两下停止,点击一次是优雅停机,连续点击2次就是kill -9的效果,就无法看到效果。既然是没有删除消费组就通过优雅停机,应用关闭前采用java的api操作kafka消费组,进行删除。
2023-10-11 09:14:26
1040
1
原创 sentinel环境搭建以及微服务接入
Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。Sentinel 会在客户端首次调用的时候进行初始化,开始向控制台发送心跳包 ,将客户端纳入到控制台的管辖之下。客户端正确配置并启动后,会 在初次调用后 主动向控制台发送心跳包,汇报自己的存在;控制台收到客户端心跳包之后,会在左侧导航栏中显示该客户端信息。
2023-09-22 09:51:04
1227
原创 K8s(健康检查+滚动更新+优雅停机+弹性伸缩+Prometheus监控+配置分离)
spring : application : name : project - sample profiles : active : @profileActive@ lifecycle : timeout-per-shutdown-phase : 30s # 停机过程超时时长设置30s,超过30s,直接停机 server : port : 8080 shutdown : graceful # 默认为IMMEDIATE,表示立即关机;
2023-08-04 14:59:14
1483
转载 策略模式与责任链模式详解
优点:符合开闭原则避免使用多重条件判断,如:if…else if…,switch使用策略模式可以提高算法的保密性和安全性。缺点:客户端必须要知道所有的策略,并且自行选择使用哪一个策略。可以通过字典表配置成枚举参数,当用户点击时,弹出所有策略。任选一个。代码中会增加非常多的策略类,增加维护难度。定义:Chain of Responsibility Pattern,是将链中每一个节点看作是一个对象,每个节点处理的请求均不同,且内部自动维护一个下一节点的对象。
2023-05-16 09:47:59
952
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人