亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务
闵浮龙
要么精彩的活,要么卑微的死
展开
-
安装单机版redis(1)
1、安装单机版rediswget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gztar -xzvf tcl8.6.1-src.tar.gzcd /usr/local/tcl8.6.1/unix/./configure make && make install使用redis-3.2.8.tar....转载 2018-01-21 18:44:45 · 233 阅读 · 0 评论 -
缓存冷启动问题及缓存预热解决方案(10)
缓存冷启动的问题 新系统第一次上线,此时在缓存里可能是没有数据的系统在线上稳定运行着,但是突然间重要的redis缓存全盘崩溃了,而且不幸的是,数据全都无法找回来系统第一次上线启动,系统在redis故障的情况下重新启动,在高并发的场景下缓存预热缓存冷启动,redis启动后,一点数据都没有,直接就对外提供服务了,mysql就裸奔(1)提前给redis中灌入部分数据,再提供...转载 2018-03-19 05:59:44 · 2570 阅读 · 1 评论 -
Storm搭建及介绍(9)
一、Storm到底是什么?1、mysql,hadoop与stormmysql、hadoop与storm的关系 mysql:事务性系统,面临海量数据的尴尬 hadoop:离线批处理 storm:实时计算 mysql、hadoop与storm的关系 2、我们能不能自己搞一套storm?来一条数据,我理解就算一条,来一条,算一条坑,海量高并发大数据,高并发的请求数据...转载 2018-03-19 05:51:16 · 232 阅读 · 0 评论 -
缓存数据生产服务中的zk分布式锁解决方案的代码实现(8)
zk分布式锁的代码封装zookeeper java client api去封装连接zk,以及获取分布式锁,还有释放分布式锁的代码zk分布式锁的原理我们通过去创建zk的一个临时node,来模拟给摸一个商品id加锁zk会给你保证说,只会创建一个临时node,其他请求过来如果再要创建临时node,就会报错,NodeExistsException那么所以说,我们的所谓上锁,其实就是...转载 2018-02-27 15:20:12 · 513 阅读 · 0 评论 -
分布式缓存重建并发冲突问题以及zookeeper分布式锁解决方案(7)
分布式重建缓存的并发冲突问题重建缓存:比如我们这里,数据在所有的缓存中都不存在了(LRU算法弄掉了),就需要重新查询数据写入缓存,重建缓存分布式的重建缓存,在不同的机器上,不同的服务实例中,去做上面的事情,就会出现多个机器分布式重建去读取相同的数据,然后写入缓存中分布式重建缓存的并发冲突问题。。。。。。1、流量均匀分布到所有缓存服务实例上应用层nginx,是将请求流量均匀地...转载 2018-02-27 13:10:50 · 1430 阅读 · 0 评论 -
redis cluster的介绍及搭建(6)
redis cluster算法演变hash算法 -> 一致性hash算法(memcached) -> redis cluster,hash slot算法用不同的算法,就决定了在多个master节点的时候,数据如何分布到这些节点上去,解决这个问题1、redis cluster介绍redis cluster(1)自动将数据进行分片,每个master上放一部分数据 ...转载 2018-01-28 08:42:24 · 3994 阅读 · 1 评论 -
redis99.99%高可用及哨兵介绍及搭建(5)
1、什么是99.99%高可用?架构上,高可用性,99.99%的高可用性讲的学术,99.99%,公式,系统可用的时间 / 系统故障的时间,365天,在365天 * 99.99%的时间内,你的系统都是可以哗哗对外提供服务的,那就是高可用性,99.99% 什么是99.99%高可用性 2、redis不可用是什么?单实例不可用?主从架构不可用?不可用的后果是什么?redis的不可用 ...转载 2018-01-24 11:20:27 · 840 阅读 · 0 评论 -
redis主从架构(4)
1、redis高并发跟整个系统的高并发之间的关系redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万的请求量光是redis是不够的,但是redis是整个大型的缓存架构中,支撑高并发的架构里面...转载 2018-01-23 18:24:03 · 291 阅读 · 0 评论 -
redis企业级数据备份方案以及各种踩坑的数据恢复容灾演练(3)
1、企业级的持久化的配置策略在企业中,RDB的生成策略,用默认的也差不多save 60 10000:如果你希望尽可能确保说,RDB最多丢1分钟的数据,那么尽量就是每隔1分钟都生成一个快照,低峰期,数据量很少,也没必要10000->生成RDB,1000->RDB,这个根据你自己的应用和业务的数据量,你自己去决定AOF一定要打开,fsync,everysecauto-a...转载 2018-01-22 05:26:42 · 455 阅读 · 0 评论 -
redis持久化RDB和AOF(2)
一、redis持久化的意义redis持久化的意义,在于故障恢复比如你部署了一个redis,作为cache缓存,当然也可以保存一些较为重要的数据如果没有持久化的话,redis遇到灾难性故障的时候,就会丢失所有的数据如果通过持久化将数据搞一份儿在磁盘上去,然后定期比如说同步和备份到一些云存储服务上去,那么就可以保证数据不丢失全部,还是可以恢复一部分数据回来的二、为什么要持久...转载 2018-01-21 19:13:45 · 377 阅读 · 0 评论 -
缓存预热解决方案(11)
一、基于nginx+lua完成商品详情页访问流量实时上报kafka的开发在nginx这一层,接收到访问请求的时候,就把请求的流量上报发送给kafka这样的话,storm才能去消费kafka中的实时的访问日志,然后去进行缓存热数据的统计用得技术方案非常简单,从lua脚本直接创建一个kafka producer,发送数据到kafkawget https://github.com/dou...转载 2018-03-19 06:25:49 · 2989 阅读 · 0 评论