并发编程-24 高并发处理手段之扩容思路 + 缓存思路

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 并发编程-24 高并发处理手段之扩容思路 + 缓存思路

概述


20190309221027466.png


这里只是讲通用的思路,实际高并发的场景需要根据实际情况来决定方案。


20190306004616510.png

扩容思路


举个例子: 一共有60块砖, 1个工人。每次只能搬运10块。每次搬运耗时10分钟,这样的话,1个工人搬运完60块砖,就需要1个小时。


垂直扩展(纵向扩展)


提高系统部件能力。

用上面的例子来解释下就是:目前有120块砖要搬(相当于高并发场景),如果使用垂直扩展的话,提高运行效率,我们调整为将工人

  • 每次搬砖20块,每次搬运耗时10分钟,1个小时处理完成。
  • 或者每次10块,每次搬运耗时5分钟,1个小时处理完成。

水平扩展(横向扩展)


增加更多系统成员,就是我们通常说的集群

还是上面的例子,120块砖要搬(相当于高并发场景) ,工人的效率保持不变,每次只能搬运10块,每次搬运耗时10分钟,一个小时依然是60块砖。 使用水平扩展来模拟的话,那就增加一名工人,两名工人,1个小时处理120块砖。


缓存思路


缓存特征


  • 命中率: 命中数/(命中数+ 没命中数)
  • 最大元素(空间): 当缓存超出设置的容量时,会触发缓存清空策略。 因此设置合理的缓存空间,将有效的提高命中率
  • 清空策略: FIFO(先进先出)、LFU(最少使用)、LRU(最近使用)、过期时间、随机清理。


缓存命中率影响因素

  • 业务场景和业务需求
  • 缓存的设计(粒度和策略)
  • 缓存容量和基础设施


缓存分类和应用场景

  • 本地缓存:编程实现(成员变量、局部变量、静态变量)、Guava Cache
  • 分布式缓存: Redis、Memcache

Guava Cache


20190306002313519.png

借鉴了ConcurrencyHashMap的设计思想


Memcache

2019030600234061.png



20190306002413402.png


Redis


20190306002420911.png

Redis的系列文章,请参考我的Redis专栏 Redis手札


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
|
3月前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。
|
5月前
|
缓存 NoSQL 中间件
redis高并发缓存中间件总结!
本文档详细介绍了高并发缓存中间件Redis的原理、高级操作及其在电商架构中的应用。通过阿里云的角度,分析了Redis与架构的关系,并展示了无Redis和使用Redis缓存的架构图。文档还涵盖了Redis的基本特性、应用场景、安装部署步骤、配置文件详解、启动和关闭方法、systemctl管理脚本的生成以及日志警告处理等内容。适合初学者和有一定经验的技术人员参考学习。
561 7
|
6月前
|
缓存 弹性计算 NoSQL
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
新一期陪跑班开课啦!阿里云专家手把手带你体验高并发下利用云数据库缓存实现极速响应
|
6月前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
178 4
|
6月前
|
缓存 NoSQL Ubuntu
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
大数据-39 Redis 高并发分布式缓存 Ubuntu源码编译安装 云服务器 启动并测试 redis-server redis-cli
106 3
|
7月前
|
消息中间件 安全 大数据
Kafka多线程Consumer是实现高并发数据处理的有效手段之一
【9月更文挑战第2天】Kafka多线程Consumer是实现高并发数据处理的有效手段之一
545 4
|
9月前
|
缓存 NoSQL 数据库
Redis问题之在高并发场景下,保证Redis缓存和数据库的一致性如何解决
Redis问题之在高并发场景下,保证Redis缓存和数据库的一致性如何解决
242 3
|
9月前
|
开发者 Sentinel 微服务
高并发架构设计三大利器:缓存、限流和降级问题之降级策略中的有限状态机的三种状态切换的问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之降级策略中的有限状态机的三种状态切换的问题如何解决
|
9月前
|
监控 应用服务中间件 nginx
高并发架构设计三大利器:缓存、限流和降级问题之Nginx的并发连接数计数的问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之Nginx的并发连接数计数的问题如何解决

热门文章

最新文章