随笔分类 -  Java

摘要:为什么要限流 系统在设计的时候,我们会有一个系统的预估容量,长时间超过系统能承受的TPS/QPS阈值,系统有可能会被压垮,最终导致整个服务不可用。为了避免这种情况,我们就需要对接口请求进行限流。 所以,我们可以通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统或避免不必要的资 阅读全文
posted @ 2022-09-07 11:38 Jae1995 阅读(1485) 评论(1) 推荐(2) 编辑
摘要:1、应用场景 电商商城,商家上架了一个秒杀活动,早上10点开始,商品A参与秒杀,一共有20个库存,预计10W的人去抢。 2、面临问题 高并发、库存不可超卖 3、问题解决 1)高并发,我们不能把所有的请求都去数据库查商品详情,查商品库存,这样数据库会顶不住,很容易的我们就想到了用Redis解决; 2) 阅读全文
posted @ 2022-07-18 18:43 Jae1995 阅读(1604) 评论(7) 推荐(6) 编辑
摘要:写在前面 思考:为什么需要鉴权呢? 系统开发好上线后,API接口会暴露在互联网上会存在一定的安全风险,例如:爬虫、恶意访问等。因此,我们需要对非开放API接口进行用户鉴权,鉴权通过之后再允许调用。 准备 spring-boot:2.1.4.RELEASE spring-security-oauth2 阅读全文
posted @ 2022-06-20 11:41 Jae1995 阅读(1858) 评论(0) 推荐(0) 编辑
摘要:最近做了一个需求,消防的设备巡检,如果巡检发现异常,通过手机端提交,后台的监控页面实时获取到该设备的信息及位置,然后安排员工去处理。因为需要服务端主动向客户端发送消息,所以很容易的就想到了用WebSocket来实现这一功能。 阅读全文
posted @ 2021-10-15 11:58 Jae1995 阅读(1723) 评论(2) 推荐(4) 编辑
摘要:写在前面 SpringBoot创建定时任务的方式很简单,主要有两种方式:一、基于注解的方式(@Scheduled)二、数据库动态配置。实际开发中,第一种需要在代码中写死表达式,如果修改起来,又得重启会显得很麻烦;所以我们往往会采取第二种方式,可以直接从数据库中读取定时任务的指定执行时间,无需重启。 阅读全文
posted @ 2021-10-13 18:06 Jae1995 阅读(6387) 评论(0) 推荐(6) 编辑

点击右上角即可分享
微信分享提示