高并发系统设计之限流
当我们谈论Web应用或者服务,一个重要的话题就不能避免:限流。这是一种保护系统和维持服务稳定性的重要手段。 ... »
当我们谈论Web应用或者服务,一个重要的话题就不能避免:限流。这是一种保护系统和维持服务稳定性的重要手段。 ... »
上一篇文章简单的介绍了单机的情况下如何进行加锁,防止高并发带来的问题。 然而现实中,一般会高并发的应用,很少会单机部署。当用户量达到一定的程度,分布式、集群部署是必然的选择。在分布式部署的情况下,之前的单机锁还会有效吗?代码还是之前的代码: > private static object lck = ... »
锁 最为常见的应用就是 高并发的情况下,库存的控制。本次只做简单的单机锁介绍。 直接看代码: 每请求一次库存-1. 假如库存1000,在1000个人请求之后,库存将变为0。 > public int Reduce0() > { > int r = 0; > string key = "stock"; ... »
本文是一次工作中对并发问题的处理案例,问题发生在快递分拣的流程中,我尽可能将业务背景简化,让大家只关注并发问题本身。 ... »
**大家好,我是冰河~~** **首先问下大家:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着问题从本文中寻求答案。** 提起SimpleDateFormat类,想必做过Java开发的童鞋都不会感到陌生。没错,它就是Java中提供的 ... »
摘要:解决SimpleDateFormat类在高并发场景下的线程安全问题可以有多种方式,这里,就列举几个常用的方式供参考。 本文分享自华为云社区《【高并发】更正SimpleDateFormat类线程不安全问题分析的错误》,作者: 冰 河 。 解决SimpleDateFormat类在高并发场景下的线程 ... »
2023-06-13:统计高并发网站每个网页每天的 UV 数据,结合Redis你会如何实现? 答案2023-06-13: ### 选用方案:HyperLogLog 如果统计 PV (页面浏览量)那非常好办,可以考虑为每个网页创建一个独立的 Redis 计数器,并将日期添加为键(key)的后缀。当网页 ... »
摘要:在读多写少的环境中,有没有一种比ReadWriteLock更快的锁呢?有,那就是JDK1.8中新增的StampedLock! 本文分享自华为云社区《【高并发】高并发场景下一种比读写锁更快的锁》,作者: 冰 河。 什么是StampedLock? ReadWriteLock锁允许多个线程同时读取共 ... »
0 序言 近期工作在搞压力测试,我负责开发维护的、基于sring-cloud-gateway的大数据网关微服务,其底层是基于spring-webflux-->reactor-netty-->netty。 在压测过程中(200并发),发现大数据网关屡报ConnectException: finishC ... »
目录 mysql update的时候到底是锁行还是锁表? InnoDb 锁简单分类 背景 解决方案 1.支付时异步入账,退款增加一个欠款垫资户 1.加分布式锁 2.新增垫资商户 2.合并请求 demo实现 mysql update的时候到底是锁行还是锁表? InnoDb 锁 »
目录 RocketMq-broker 注册 消息存储 消息读取 消费者拉取消息 按照key查询 org.apache.rocketmq.store.DefaultMessageStore#queryMessage RocketMq-broker broker主要作用就是存储消息。所以重 »
分布式解决 Session 的问题,内存数据库 Redis 特性,单线程IO多路复用,重要配置项,数据类型,常用命令,Redis数据结构,动态字符串 SDS,压缩列表 ziplist,紧凑列表 listpack,跳跃列表 skiplist,持久化 RDB/AOF,分布式集群,虚拟插槽,分布式锁,Lu... ... »
摘要:本博客将介绍如何使用 Spring Boot 实现一个简单的商城秒杀系统,并通过使用 Redis 和 MySQL 来增强其性能和可靠性。 本文分享自华为云社区《Spring Boot实现商城高并发秒杀案例》,作者:林欣。 随着经济的发展和人们消费观念的转变,电子商务逐渐成为人们购物的主要方式之 ... »
这篇文章主要介绍了如何使用Redis解决高并发的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Redis解决高并发文章都会有所收获,下面我们一起来看看吧。 NoSQL Not Only SQL的简称。NoSQL是解决传统的RDBMS在应对某些问题时比较乏力而提出的 »
这篇文章主要介绍了如何使用Redis解决高并发的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Redis解决高并发文章都会有所收获,下面我们一起来看看吧。 NoSQL Not Only SQL的简称。NoSQL是解决传统的RDBMS在应对某些问题时比较乏力而提出的 »
目录 NoSQL Redis 痛点 思路 分布式锁 锁续命 扩展 结语 NoSQL Not Only SQL的简称。NoSQL是解决传统的RDBMS在应对某些问题时比较乏力而提出的。 即非关系型数据库,它们不保证关系数据的ACID特性,数据之间一般没有关联,在扩展上就非常容易实现,并且拥 »
目录 NoSQL Redis 痛点 思路 分布式锁 锁续命 扩展 结语 NoSQL Not Only SQL的简称。NoSQL是解决传统的RDBMS在应对某些问题时比较乏力而提出的。 即非关系型数据库,它们不保证关系数据的ACID特性,数据之间一般没有关联,在扩展上就非常容易实现,并且拥 »
作者:京东科技 杜晓玉 前言 数据库,交易系统中最核心依赖,数据持久化属于最核心服务。 随着互联网的普及,大流量高并发的场景越来越多,7*24的交易系统对高可用要求越来越高,同时在“数据为王”大环境下,交易数据最终通过数据库进行持久化存储,数据库成为整个系统最终重要服务,不能出一点问题,尤其核心P0 ... »
作者:京东科技 杜晓玉 前言 数据库,交易系统中最核心依赖,数据持久化属于最核心服务。 随着互联网的普及,大流量高并发的场景越来越多,7*24的交易系统对高可用要求越来越高,同时在“数据为王”大环境下,交易数据最终通过数据库进行持久化存储,数据库成为整个系统最终重要服务,不能出一点问题,尤其核心P0 ... »
目录 什么是缓存 为什么要用缓存 Redis为什么这么快 实现一个用户信息的缓存 方式一:利用RedisTemplate实现 导入依赖 添加配置 添加redis工具类及配置类 service层 controller层 测试 方式二:采用SpringBoot注解开启缓存 修改service层 »