Category: Distributed Cache

[转]如何使用Redis流和Apache Spark处理实时数据? 0

[转]如何使用Redis流和Apache Spark处理实时数据?

1. 本文要点 Apache Spark 的流框架(Structured Streaming)为数据流带来了 SQL 查询功能,让用户可以实时、可扩展地处理数据。 Redis 流(Redis Stream)是 Redis 5.0 新引入的数据结构,能够以亚毫秒级的延迟高速收集、保存和分发数据。 用户集成 Redis 流和流框架后就能简化连续应用程序(continuous application)的扩展工作。 开源的 Spark-Redis 库将 Apache Spark 与 Redis 连接起来。该库为 Redis 数据结构提供 RDD 和数据帧 API,使用户可以将 Redis 流用作流框架的数据源。 流框架是...

[转]新浪日访问量百亿级的应用如何做缓存架构设计 0

[转]新浪日访问量百亿级的应用如何做缓存架构设计

微博日活跃用户1.6亿+,每日访问量达百亿级,面对庞大用户群的海量访问,良好架构且不断改进的缓存体系具有非常重要的支撑作用。刷微博吗?跟我们一起听听那些庞大的数据是如何呈现的吧! 陈波:大家好,今天的分享主要有以下内容,首先是微博在运行过程中的数据挑战,然后是Feed系统架构,接下来会着重分析Cache架构及演进,最后是总结、展望。

[转]携程200T+规模的Redis容器化实践 0

[转]携程200T+规模的Redis容器化实践

1. 背景 携程大部分应用是基于 CRedis 客户端通过集群来访问到实际的 Redis 的实例,集群是访问 Redis 的基本单位,多个集群对应一个 Pool,一个 Pool 对应一个 Group,每个 Group 对应一个或多个实例,Key 是通过一致性 hash 散列到每个 Group 上,集群拓扑图如截图所示。 这个图里面我们可以看到集群,Pool,Group 还有里面的实例,这是携程 Redis 一个比较常见的拓扑图,如下图: 2. 为什么要容器化 2-1. 标准化和自动化 Redis 之前是直接部署在物理机上,而 DBA 是根据物理机上设定的 Redis 的版本来选择需要部署的物理机,携程的各个版本的...

[转]Redis持久化实战 0

[转]Redis持久化实战

它支持的数据类型很丰富,如字符串、链表、集合、以及散列等,并且还支持多种排序功能。 1. 什么叫持久化? 用一句话可以将持久化概括为:将数据(如内存中的对象)保存到可永久保存的存储设备中。 持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、 XML 数据文件中等等。

0

[总结]Redis热点Key发现及常见解决方案

1. 一、热点Key问题产生的原因 1、用户消费的数据远大于生产的数据(热卖商品、热点新闻、热点评论、明星直播)。 在日常工作生活中一些突发的的事件,例如:双十一期间某些热门商品的降价促销,当这其中的某一件商品被数万次点击浏览或者购买时,会形成一个较大的需求量,这种情况下就会造成热点问题。 同理,被大量刊发、浏览的热点新闻、热点评论、明星直播等,这些典型的读多写少的场景也会产生热点问题。 2、请求分片集中,超过单 Server 的性能极限。 在服务端读数据进行访问时,往往会对数据进行分片切分,此过程中会在某一主机 Server 上对相应的 Key 进行访问,当访问超过 Server 极限时,就会导致热点 Key 问题的产生。 2. 二、热点Key问题的危害 1、流量集中,达到物理网卡上限。 2、请求过多,缓存分片服务被打垮。 3、DB 击穿,引起业务雪崩。 如前文讲到的,当某一热点 Key 的请求在某一主机上超过该主机网卡上限时,由于流量的过度集中,会导致服务器中其它服务无法进行。 如果热点过于集中,热点 Key 的缓存过多,超过目前的缓存容量时,就会导致缓存分片服务被打垮现象的产生。 当缓存服务崩溃后,此时再有请求产生,会缓存到后台 DB 上,由于DB 本身性能较弱,在面临大请求时很容易发生请求穿透现象,会进一步导致雪崩现象,严重影响设备的性能。 3....

[转]每秒上千订单的高并发场景下如何完成分布式锁的性能优化? 2

[转]每秒上千订单的高并发场景下如何完成分布式锁的性能优化?

1. 背景引入 首先,我们一起来看看这个问题的背景? 前段时间有个朋友在外面面试,然后有一天找我聊说:有一个国内不错的电商公司,面试官给他出了一个场景题: 假如下单时,用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 他说他当时没答上来,因为没做过没什么思路。其实我当时听到这个面试题心里也觉得有点意思,因为如果是我来面试候选人的话,应该会给的范围更大一些。

[转]Redisson实现Redis分布式锁的底层原理 0

[转]Redisson实现Redis分布式锁的底层原理

1. 一、写在前面 现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。 所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。 说实话,如果在公司里落地生产环境用分布式锁的时候,一定是会用开源类库的,比如Redis分布式锁,一般就是用Redisson框架就好了,非常的简便易用。

[转]程序员如何 Get 分布式锁的正确姿势 0

[转]程序员如何 Get 分布式锁的正确姿势

在很多互联网产品应用中,有些场景需要加锁处理,比如秒杀、全局递增ID、楼层生成等等,大部分的解决方案是基于DB实现的,Redis也是较为常见的方案之一。 Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现分布式锁机制。

0

[转]手把手教你从0到1写一个简单的缓存框架

目前市面上已经有很多开源的缓存框架,比如 Redis、Memcached、Ehcache 等,那为什么还要自己动手写缓存?本文将带领大家从 0 到 1 写一个简单的缓存框架,目的是让大家对缓存的类型、缓存的标准、缓存的实现以及原理方面有一个系统的了解,做到知其然,知其所以然。