背景 接口提供方有调用频率限制的场景下,如何合理设计接口请求? 方案 采用Redis队列,利用 lpush 和 rpop 命令来实现 首先,将订单依次lpush写入Redis队列。定时任务通过 rpop 获取队列订单进行接口调用。 额外说明: 若想查看队列中还有哪些元素,可通过 lrange 命令查看。 若分布式环境下,定时任务可通过zookeeper注册节点,来保证仅有1台应用进行 rpop操作。 若数据量较大,不建议将所有订单放入Redis,除非订单处理速度较快,可通过定时分批次获取数据库订单进行逻辑处理。