
aaa挂号项目
文章平均质量分 61
Java项目开发过程
丢丢diu丢
CSDN,做笔记用的……
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis+Mysql+MongoDB 解决高并发问题
1.请求进来先去Redis里加锁Key:科室ID;Value:当前时间+过期时间 的毫秒数;public void orderProductMockDiffUser(String productId) { 加锁 锁的过期时间为当前时间+过期时长 long time = System.currentTimeMillis()+TIMEOUT; if(!redisLock.lock(productId,String.valueOf(time))){ thr原创 2021-09-10 12:03:19 · 507 阅读 · 0 评论 -
项目问题——Redis使用List防止商品超卖
1.首先定义名为科室名称department的List队列,里边的元素都是1,元素的个数代表号源的余量;同时定义名为科室ID+User的Set,把已挂号的用户ID存入Set,保证同一个用户只能挂1个科室的1个号。2.因为 Redis 是单线程的,所以可以将并发的请求串行化,而且 Redis的 List pop 操作是原子性 的。3.所有请求打到 Redis 上,都是从 department队列上 pop 出一个元素。public void testMiaosha(){ Object goods =原创 2021-09-08 17:26:03 · 541 阅读 · 0 评论 -
项目问题——数据异常的处理
1.先update,再select查询,如果号源数量小于0,就抛异常1.自定义异常类,继承RuntimeException@Data@ApiModel(value = "自定义全局异常类")public class YyghException extends RuntimeException { @ApiModelProperty(value = "异常状态码") private Integer code; * 通过状态码和错误消息创建异常对象 * @pa原创 2021-09-08 15:17:41 · 223 阅读 · 0 评论 -
Sentinel—入门、高级、原理
4.4.流量控制的实现Sentinel所有的规则都可以在内存态中动态的查询、修改,修改后立即生效。0.主要支持的规则流量控制的规则熔断降级的规则系统保护规则来源访问控制规则动态扩展规则1.流量控制规则的实现流量控制,原理是监控应用流量的QPS或者并发线程数等指标,当达到指定的阈值时,对流量进行控制,防止被高峰击垮,保障高可用。1.1.流量控制的2种方式并发线程数:用于保护业务线程数不被耗尽;QPS :当QPS超过阈值时,采取措施进行流量控制。限流规则主要由下面几个因素组成,可原创 2021-08-27 14:50:18 · 134 阅读 · 0 评论