 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点 支持海外站点和国内站点同时进行读写; 并解决因此可能出现的数据一致性问题. 需求的产生 DRC 的概念是在近年来, 云计算兴起, 多站点部署的场景下, 延伸出来对于数 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS0 码力 | 45 页 | 1.74 MB | 1 年前3 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点 支持海外站点和国内站点同时进行读写; 并解决因此可能出现的数据一致性问题. 需求的产生 DRC 的概念是在近年来, 云计算兴起, 多站点部署的场景下, 延伸出来对于数 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS0 码力 | 45 页 | 1.74 MB | 1 年前3
 《Redis使用手册》(试读版)过⼤量的实践应⽤, Redis 简洁⾼效、安全稳定的印象已经深⼊⼈⼼。 ⽆论是国内还是国外, 从财富五百强到⼩ 型初创公司都在使⽤ Redis , 很多云服务提供商还以 Redis 为基础构建了相应的缓存服务、消息队列服务以及内 存存储服务 —— 当你使⽤这些服务时, 你实际上就是在使⽤ Redis 。 除了变得越来越受欢迎之外, Redis 在过去数年的另⼀个变化就是更新速度越来越快, 功能也变得越来越多、越 有了近乎⽆限的扩展能⼒。 综上所述, 我们可以说现在的 Redis 跟五年前⽐起来已经完全不⼀样了, ⽽如何向读者讲述新版 Redis ⽅⽅⾯ ⾯的变化, 则是每⼀本 Redis 书都必须回答的问题。 本书以服务 Redis 初学者和使⽤者为⽬标, 介绍了 Redis ⽇常使⽤中最常⽤到的部分, 并以“命令描述+代码示例”的模式详细列举了各个 Redis 命令的⽤法和⽤例。 我相 信⽆论是刚开始学习 Redis 版本以及本书配套的读者服务 ⽹站。 1.1 Redis 简介 Redis 是⼀个主要由 Salvatore Sanfilippo (antirez)开发的开源的内存数据结构存储器, 它经常被⽤作数据 库、缓存以及消息代理等⽤途。 Redis 因为它丰富的数据结构、极快的速度、⻬全的功能⽽为⼈所知, 它是⽬前内存数据库⽅⾯的事实标准, 在 互联⽹上有⾮常⼴泛的应⽤, 包括微博、Twitter、GitHub、Stack0 码力 | 352 页 | 6.57 MB | 1 年前3 《Redis使用手册》(试读版)过⼤量的实践应⽤, Redis 简洁⾼效、安全稳定的印象已经深⼊⼈⼼。 ⽆论是国内还是国外, 从财富五百强到⼩ 型初创公司都在使⽤ Redis , 很多云服务提供商还以 Redis 为基础构建了相应的缓存服务、消息队列服务以及内 存存储服务 —— 当你使⽤这些服务时, 你实际上就是在使⽤ Redis 。 除了变得越来越受欢迎之外, Redis 在过去数年的另⼀个变化就是更新速度越来越快, 功能也变得越来越多、越 有了近乎⽆限的扩展能⼒。 综上所述, 我们可以说现在的 Redis 跟五年前⽐起来已经完全不⼀样了, ⽽如何向读者讲述新版 Redis ⽅⽅⾯ ⾯的变化, 则是每⼀本 Redis 书都必须回答的问题。 本书以服务 Redis 初学者和使⽤者为⽬标, 介绍了 Redis ⽇常使⽤中最常⽤到的部分, 并以“命令描述+代码示例”的模式详细列举了各个 Redis 命令的⽤法和⽤例。 我相 信⽆论是刚开始学习 Redis 版本以及本书配套的读者服务 ⽹站。 1.1 Redis 简介 Redis 是⼀个主要由 Salvatore Sanfilippo (antirez)开发的开源的内存数据结构存储器, 它经常被⽤作数据 库、缓存以及消息代理等⽤途。 Redis 因为它丰富的数据结构、极快的速度、⻬全的功能⽽为⼈所知, 它是⽬前内存数据库⽅⾯的事实标准, 在 互联⽹上有⾮常⼴泛的应⽤, 包括微博、Twitter、GitHub、Stack0 码力 | 352 页 | 6.57 MB | 1 年前3
 阿里云云数据库 Redis 版 产品简介什么是云数据库 Redis 版 云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议标准的、提供持久化的内存数据库服务,基 于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 云数据库 Redis 版支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表 版支持灵活的部署架构:单副本、双副本、集群版,能够满足不同的业务场景。 单节点架构: 适用于纯缓存场景,支持单节点集群弹性变配,满足高 QPS 场景,提供超高性价比。 双机热备架构:系统工作时主节点(Master)和备节点(Slave)数据实时同步,主节点故障时系统 自动秒级切换,备节点接管业务,全程自动且对业务无影响,主备架构保障系统服务具有高可用性。 集群架构:集群( 集群架构:集群(cluster)实例采用分布式架构,每个节点都采用一主一从的高可用架构,自动容灾 切换,故障迁移,多种集群规格可适配不同的业务压力,无线扩展数据库性能。 云数据库 Redis 版作为云计算服务,其硬件和数据部署在云端,有完善的基础设施规划、网络安全保障、系统 维护服务,确保用户专心致力于业务创新。 混合存储公测开通须知 Redis混合存储系列将于2018年3月0 码力 | 33 页 | 1.88 MB | 1 年前3 阿里云云数据库 Redis 版 产品简介什么是云数据库 Redis 版 云数据库 Redis 版(ApsaraDB for Redis)是兼容开源 Redis 协议标准的、提供持久化的内存数据库服务,基 于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 云数据库 Redis 版支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表 版支持灵活的部署架构:单副本、双副本、集群版,能够满足不同的业务场景。 单节点架构: 适用于纯缓存场景,支持单节点集群弹性变配,满足高 QPS 场景,提供超高性价比。 双机热备架构:系统工作时主节点(Master)和备节点(Slave)数据实时同步,主节点故障时系统 自动秒级切换,备节点接管业务,全程自动且对业务无影响,主备架构保障系统服务具有高可用性。 集群架构:集群( 集群架构:集群(cluster)实例采用分布式架构,每个节点都采用一主一从的高可用架构,自动容灾 切换,故障迁移,多种集群规格可适配不同的业务压力,无线扩展数据库性能。 云数据库 Redis 版作为云计算服务,其硬件和数据部署在云端,有完善的基础设施规划、网络安全保障、系统 维护服务,确保用户专心致力于业务创新。 混合存储公测开通须知 Redis混合存储系列将于2018年3月0 码力 | 33 页 | 1.88 MB | 1 年前3
 携程 Redis 多数据中心 双向同步实践 祝辰携程 Redis 多数据中心 双向同步实践 祝辰 祝辰 目前任职携程框架架构部门资深 研发工程师 负责框架Redis团队的开发工作 目录 1 业务背景 2 3 双向同步 4 CRDT 高可用 开篇 & 背景 Redis 在携程的规模 25,000,0 00 QPS 2000+Clust er 200TB + 跨公网同步 SHANGHAI CANADA Sequential Specifications for Replicated Datatypes • Thanks For Watching 本PPT来自2019携程技术峰会 更多信息请关注“携程技术中心”微信公众号~0 码力 | 33 页 | 2.15 MB | 1 年前3 携程 Redis 多数据中心 双向同步实践 祝辰携程 Redis 多数据中心 双向同步实践 祝辰 祝辰 目前任职携程框架架构部门资深 研发工程师 负责框架Redis团队的开发工作 目录 1 业务背景 2 3 双向同步 4 CRDT 高可用 开篇 & 背景 Redis 在携程的规模 25,000,0 00 QPS 2000+Clust er 200TB + 跨公网同步 SHANGHAI CANADA Sequential Specifications for Replicated Datatypes • Thanks For Watching 本PPT来自2019携程技术峰会 更多信息请关注“携程技术中心”微信公众号~0 码力 | 33 页 | 2.15 MB | 1 年前3
 陈宗志:大容量redis存储方案--Pika大容量redis存储方案--Pika 陈宗志 360基础架构组技术经理 SACC2017 简介 • 13年入职360 基础架构组 – Bada – Pika – Zeppelin – Mario, Pink, slash, floyd • https://github.com/Qihoo360 SACC2017 概要 • 存在问题 • 分析问题 • 解决问题 • Pika vs redis SACC2017 • Pika 是DBA 和 基础架构团队一起设计开发的 大容量redis的解决方案 • 完全兼容redis 协议, 用户不需要修改任何代码 进行迁移 Introduction SACC2017 • Redis实例数量:6000+个 • 日访问量:5000+亿 • Pika数据数量:1000+个 使用基于磁盘的存储引擎rocksdb 实现多 数据接口接口 • 网络库 • 添加binlog 模块 SACC2017 Pika 整体结构 SACC2017 网络模块--Pink • 基础架构团队开发网络编程库, 支持pb, redis, pg, http等协议. • 抽象各种不同类型线程 – DispatchThread – WorkThread – BGThread0 码力 | 47 页 | 2.18 MB | 1 年前3 陈宗志:大容量redis存储方案--Pika大容量redis存储方案--Pika 陈宗志 360基础架构组技术经理 SACC2017 简介 • 13年入职360 基础架构组 – Bada – Pika – Zeppelin – Mario, Pink, slash, floyd • https://github.com/Qihoo360 SACC2017 概要 • 存在问题 • 分析问题 • 解决问题 • Pika vs redis SACC2017 • Pika 是DBA 和 基础架构团队一起设计开发的 大容量redis的解决方案 • 完全兼容redis 协议, 用户不需要修改任何代码 进行迁移 Introduction SACC2017 • Redis实例数量:6000+个 • 日访问量:5000+亿 • Pika数据数量:1000+个 使用基于磁盘的存储引擎rocksdb 实现多 数据接口接口 • 网络库 • 添加binlog 模块 SACC2017 Pika 整体结构 SACC2017 网络模块--Pink • 基础架构团队开发网络编程库, 支持pb, redis, pg, http等协议. • 抽象各种不同类型线程 – DispatchThread – WorkThread – BGThread0 码力 | 47 页 | 2.18 MB | 1 年前3
 常见Redis未授权访问漏洞总结ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一 般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,利用 Redis 自身的提供的config 命令,可以进行写文件 操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件夹的authotrized_keys 文件 中,进而可以使用对应私钥直接使用ssh服务登录目标服务器、添加计划任务、写入Webshell等操作。 漏洞利用 环境介绍 环境搭建 常见的未授权访问漏洞: Redis 未授权访问漏洞 MongoDB 未授权访问漏洞 Jenkins 未授权访问漏洞 Memcached 未授权访问漏洞 JBOSS 未授权访问漏洞 VNC 未授权访问漏洞 #将redis.conf拷贝到/etc/目录下 redis-server /etc/redis.conf # 使用/etc/目录下的redis.conf文件中的配置启动redis服务 服务启动成功! 服务启动成功 为了方便,在windows攻击机里下载一个redis clinet 下载地址:https://github.com/caoxinyu/RedisClient/releases0 码力 | 44 页 | 19.34 MB | 1 年前3 常见Redis未授权访问漏洞总结ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一 般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下,利用 Redis 自身的提供的config 命令,可以进行写文件 操作,攻击者可以成功将自己的ssh公钥写入目标服务器的 /root/.ssh 文件夹的authotrized_keys 文件夹的authotrized_keys 文件 中,进而可以使用对应私钥直接使用ssh服务登录目标服务器、添加计划任务、写入Webshell等操作。 漏洞利用 环境介绍 环境搭建 常见的未授权访问漏洞: Redis 未授权访问漏洞 MongoDB 未授权访问漏洞 Jenkins 未授权访问漏洞 Memcached 未授权访问漏洞 JBOSS 未授权访问漏洞 VNC 未授权访问漏洞 #将redis.conf拷贝到/etc/目录下 redis-server /etc/redis.conf # 使用/etc/目录下的redis.conf文件中的配置启动redis服务 服务启动成功! 服务启动成功 为了方便,在windows攻击机里下载一个redis clinet 下载地址:https://github.com/caoxinyu/RedisClient/releases0 码力 | 44 页 | 19.34 MB | 1 年前3
 阿里云云数据库 Redis 版 快速入门数据过期删除策略 - 主动过期,系统后台会周期性的检测,发现已过 期的key时,会将其删除。 - 被动过期,当用户访问某个key时,如果该key已 经过期,则将其删除。 空闲连接回收机制 服务端不主动回收 Redis 空闲连接,由用户管理。 数据持久化策略 采用 AOF_FSYNC_EVERYSEC 方式,每秒 fysnc。 Keys(键) String(字符 串) Hash(哈希 SETNX SETRANGE STRLEN HyperLog Log Pub/Sub (发布/订 阅) Transacti on(事务 ) Connecti on(连接 ) Server( 服务器) Scripting( 脚本) Geo(地理 位置) PFADD PSUBSCRI BE DISCARD AUTH FLUSHAL L EVAL GEOADD PFCOUNT PUBLISH CONFIG GET 云数据库 Redis 版 快速入门 8 暂未开放的命令 集群实例不支持的命令 MONITO R SLOWLO G Keys(键) Server(服务器) MIGRATE BGREWRITEAOF BGSAVE CONFIG REWRITE CONFIG SET CONFIG RESETSTAT COMMAND COMMAND COUNT0 码力 | 29 页 | 1.07 MB | 1 年前3 阿里云云数据库 Redis 版 快速入门数据过期删除策略 - 主动过期,系统后台会周期性的检测,发现已过 期的key时,会将其删除。 - 被动过期,当用户访问某个key时,如果该key已 经过期,则将其删除。 空闲连接回收机制 服务端不主动回收 Redis 空闲连接,由用户管理。 数据持久化策略 采用 AOF_FSYNC_EVERYSEC 方式,每秒 fysnc。 Keys(键) String(字符 串) Hash(哈希 SETNX SETRANGE STRLEN HyperLog Log Pub/Sub (发布/订 阅) Transacti on(事务 ) Connecti on(连接 ) Server( 服务器) Scripting( 脚本) Geo(地理 位置) PFADD PSUBSCRI BE DISCARD AUTH FLUSHAL L EVAL GEOADD PFCOUNT PUBLISH CONFIG GET 云数据库 Redis 版 快速入门 8 暂未开放的命令 集群实例不支持的命令 MONITO R SLOWLO G Keys(键) Server(服务器) MIGRATE BGREWRITEAOF BGSAVE CONFIG REWRITE CONFIG SET CONFIG RESETSTAT COMMAND COMMAND COUNT0 码力 | 29 页 | 1.07 MB | 1 年前3
 高金芳-平安科技-PostgreSQL反向代理redis职务:平安科技数据库技术部数据库架构师 邮箱:gaojinfang498@pingan,.com.cn 个人简介: 高金芳,中国平安集团旗下平安科技数据库技术部数据库架构师,从事数据库相关工作9年。 2007年毕业,从事oracle ERP开发,数据仓库和数据挖掘相关工作。 2011年加入平安科技,从事过数据库的开发、架构设计、新数据库产品引入、Oracle的架构优化等工作, Oracle的架构优化等工作, 幵负责部门的Redis产品相关工作。近期致力亍PostgreSQL源码研究。 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会 What is Redis 01 Dilemma 02 Why PostgreSQL 03 Redis + 040 码力 | 28 页 | 3.61 MB | 1 年前3 高金芳-平安科技-PostgreSQL反向代理redis职务:平安科技数据库技术部数据库架构师 邮箱:gaojinfang498@pingan,.com.cn 个人简介: 高金芳,中国平安集团旗下平安科技数据库技术部数据库架构师,从事数据库相关工作9年。 2007年毕业,从事oracle ERP开发,数据仓库和数据挖掘相关工作。 2011年加入平安科技,从事过数据库的开发、架构设计、新数据库产品引入、Oracle的架构优化等工作, Oracle的架构优化等工作, 幵负责部门的Redis产品相关工作。近期致力亍PostgreSQL源码研究。 2016Postgres中国用户大会 Postgres Conference China 2016 中国用户大会 What is Redis 01 Dilemma 02 Why PostgreSQL 03 Redis + 040 码力 | 28 页 | 3.61 MB | 1 年前3
 Redis操作手册requirepass Centos123 # /usr/local/bin/redis-server /root/redis-6.2.13/redis.conf #启动服务(后台运 行) ★做成系统服务 # ps -ef | grep redis root 14989 1 0 13:46 ? 00:00:00 redis-server 0.0 ★redis使用ssl ★redis-cli客户端工具 ★命令行客户端 在redis服务端安装目录下有redis-cli命令行工具 安装目录下# redis-cli -h 10.99.1.51 -p 6379 -a Centos123 #-h指定服务器地 址, # -p指定端口,-a指定密码 10.99.1.51:6379> config get dbfilename config_file:/root/redis-6.2.13/redis.conf ...... 10.99.1.51:6379> shutdown #停止服务运行,谨慎操作 not connected> exit not connected> quit 10.99.1.51:6379> set keyxx valuexx #创建一个键值对0 码力 | 5 页 | 80.37 KB | 1 年前3 Redis操作手册requirepass Centos123 # /usr/local/bin/redis-server /root/redis-6.2.13/redis.conf #启动服务(后台运 行) ★做成系统服务 # ps -ef | grep redis root 14989 1 0 13:46 ? 00:00:00 redis-server 0.0 ★redis使用ssl ★redis-cli客户端工具 ★命令行客户端 在redis服务端安装目录下有redis-cli命令行工具 安装目录下# redis-cli -h 10.99.1.51 -p 6379 -a Centos123 #-h指定服务器地 址, # -p指定端口,-a指定密码 10.99.1.51:6379> config get dbfilename config_file:/root/redis-6.2.13/redis.conf ...... 10.99.1.51:6379> shutdown #停止服务运行,谨慎操作 not connected> exit not connected> quit 10.99.1.51:6379> set keyxx valuexx #创建一个键值对0 码力 | 5 页 | 80.37 KB | 1 年前3
共 9 条
- 1














