一文详解 Java 限流接口实现

一、限流 为什么要进行限流? 1.瞬时流量过高,服务被压垮? 2.恶意用户高频光顾,导致服务器宕机? 3.消息消费过快,导致数据库压力过大,性能下降甚至崩溃? …… 什么是限流? 限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。 在高并发系统中,出于系统保护角度考虑,通常会对流量进行限流。…

hello hello 发布于 2024-01-09

RocketMQ消息投递策略

RocketMQ的消息投递分分为两种:一种是生产者往MQ Broker中投递;另外一种则是MQ broker 往消费者 投递(这种投递的说法是从消息传递的角度阐述的,实际上底层是消费者从MQ broker 中Pull拉取的)。 RocketMQ的消息模型 一个Topic(消息主题)可能对应多个实际的消息队列(MessgeQueue)…

hello hello 发布于 2024-01-08

RocketMQ死信队列

一、RocketMQ死信队列概述 RocketMQ是一个高性能、可靠性、可扩展性 broker 致力于处理大量数据,包括流式数据和批量数据,并且能够实现在线扩容。RocketMQ支持死信队列(Dead Letter Queue,DLQ),可以将无法被使用者消费的消息转发到指定的 topic 或者 queue 中去,死信队列就是为了解决这些问题而生的。…

hello hello 发布于 2024-01-08

如何造一个“钉钉”?谈谈消息系统架构的实现

梗概 生活中最常见的即时聊天类软件如:钉钉、微信等,都可以描述为:实现了即时通讯能力的聊天工具。其中聊天会话可分为两大类,分别是:单聊、群聊(公众号类似单聊)。这里我们以钉钉(Ding…

hello hello 发布于 2024-01-08

工程师的灵魂拷问:你的密钥安全吗?

背景介绍:密钥管理 提问:你密钥存在哪儿? 对这一问的回答基本可概括为2类: a. 本地加解密: 密钥保存在某些介质(如配置文件、数据库,也可以是某个远程服务器)中,用户在需要进行加密/签名时,从这些介质拉取密钥(可能拉取的只是密钥密文,需要再解密出密钥明文),然后本地进行加密/签名。 b. 服务器加解密:…

hello hello 发布于 2024-01-08

用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?

Spring Boot 3.2 于 2023 年 11 月大张旗鼓地发布,标志着 Java 开发领域的一个关键时刻。这一突破性的版本引入了一系列革命性的功能,包括: 虚拟线程:利用 Project Loom 的虚拟线程释放可扩展性,从而减少资源消耗并增强并发性。 Native Image支持:通过Native…

hello hello 发布于 2024-01-05

SpringBoot整合RocketMQ

0 . 启动Name Server与 Broker 1 . 引入依赖 添加 RocketMQ 客户端访问支持,具体版本和安装的 RocketMQ 版本一致即可。 <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId>…

hello hello 发布于 2024-01-05

如何避免新代码变包袱?阿里通用方法来了!

前言 即使代码多年的人都会对这两个问题有点蒙圈:什么是设计?什么是架构? 从单词上看:设计是Software Design,架构是Software Architecture;分别对应的作者是:Designer和Architect:…

hello hello 发布于 2024-01-05

无用的 VSCode Extensions

不罗嗦,直接开始 Pretty Typescript Errors CodeSnap BackGround Markdown Preview Mermaid Support Draw.io indent-rainbow 1. Pretty Typescript Errors 好看的 TypeScript…

hello hello 发布于 2024-01-05

RocketMQ顺序消息

顺序类型 无序消息 无序消息也指普通的消息,Producer 只管发送消息,Consumer 只管接收消息,至于消息和消息之间的顺序并没有保证。 Producer 依次发送 orderId 为 1、2、3 的消息 Consumer 接到的消息顺序有可能是 1、2、3,也有可能是 2、1、3 等情况,这就是普通消息。 全局顺序 对于指定的一个 Topic…

hello hello 发布于 2024-01-05
上一页 下一页