04 2023 档案
摘要:今天我们来讨论如何在项目开发中优雅地使用RocketMQ。本文分为三部分,第一部分实现SpringBoot与RocketMQ的整合,第二部分解决在使用RocketMQ过程中可能遇到的一些问题并解决他们,第三部分介绍如何封装RocketMQ以便更好地使用。 1. SpringBoot整合RocketM
阅读全文
摘要:大家好呀,我是飘渺! 通过上篇文章我们知道了一个结论:那就是对于toC的业务,需要选择用户属性如 user_id 作为分片键。 那问题来了,对于订单表来说,选择了user_id作为分片键以后如何查看订单详情呢?比如下面这样一条SQL: SELECT * FROM T_ORDER WHERE orde
阅读全文
摘要:很早以前,我曾写过两篇介绍如何在SpringBoot中使用Guava和Redis实现接口限流的文章。具体包括: 使用Guava实现单机令牌桶限流 使用Redis实现分布式限流 现在,一个问题摆在我们面前:如何将这两种限流机制整合到同一个组件中,以便用户随时切换呢? 显然,我们需要定义一个通用的限流组
阅读全文
摘要:大家好,我是飘渺。 在SpringBoot 如何进行限流,老鸟们都这么玩的!一文中我们详细介绍了为什么需要对接口进行限流,也介绍了常见的限流算法,最后还基于Guava工具类实现了接口限流。但是这种方式有个问题,无法实现分布式限流。那今天我们来利用Redis + Lua 来实现分布式限流。 Lua 脚
阅读全文
摘要:大家好,我是飘渺。 在日常的接口开发中,为了保证接口的稳定安全,我们一般需要在接口逻辑中处理两种校验: 参数校验 业务规则校验 首先我们先看看参数校验。 参数校验 参数校验很好理解,比如登录的时候需要校验用户名密码是否为空,创建用户的时候需要校验邮件、手机号码格式是否准确。 而实现参数校验也非常简单
阅读全文