2023-12-14 TCE之Redis初介绍

2023-12-13  本文已影响0人  一位被理工耽误的文艺范打工人

第一部分 Redis功能及架构原理

一、Redis产品介绍

1、什么是Redis

云数据库Redis(TencentDB for Redis,CRedis)是腾讯云基于多年自身缓存业务技术沉淀和Redis类业务运营的需求,自研的一款高可用、高可靠的Redis服务平台。
在使用上,Redis兼容Redis协议,支持字符串、链表、集合、有序集合、哈希表等多种数据类型。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。

二、Redis功能设计

1、节点通信

(1)Redis-Cluster使用Gossip协议进行信息交换。
①Gossip消息类型:

2、主从同步

(1)完整重同步:在主从的初次复制时,PSYNC命令表示完整重同步,其作用和SYNC命令作用相同,执行流程基本一致,都是通过生成完整的RDB文件发送到从服务器,然后发送复制缓冲区中的写命令来完成一次同步。
(2)部分重同步:主要作用于断线重连的情况,从服务器断线后重连到主服务器时,如果满足部分重同步的条件,那么主服务器只会发送从服务器在断线这段时间内的增量写命令,而不是进行一次完整重同步,从服务器也只需要接收增量的部分命令,执行之后就可以完成数据库状态的更新。

Redis主从同步原理流程图

3、故障转移

(1)故障检测:

4、读写分离

第二部分 Redis架构设计与部署

一、Redis架构

Redis架构图

1、支撑服务

支撑服务是部署在TCE的支撑平台,大部分服务以容器形式运行,部分数据库、中间件等服务以物理机形式运行。
支撑服务整体是Region级服务,因此每个Region是独立部署,不存在跨Region部署的组件。
提供Redis控制台需要的后端接口以及CAPI3.0接口,其功能包含Redis的业务逻辑控制,并且对接外部依赖服务,例如计费、监控、网络等服务;同时提供租户端控制实例各种变更操作,例如创建、扩容、销毁等实例管理控制操作。

2、管控服务

管控服务是弹性缓存数据库服务的总称。管控服务部分服务部署在Underly CVM虚拟机,管控服务整体是Region级服务
负责Redis实例的生命周期管理,提供运营运维端对Redis进行创建、CRedis管理控制删除扩缩容、备份、还原等功能。

3、生产服务

生成服务是弹性缓存数据库CRedis生产节点的总称。生产服务是最终对外售卖的节点,CRedis生产节点也称为CRedis缓存数据库节点(也称为Cache节点)。

二、Redis进程

1、管控节点

(1)standby_cc
进程检查方式:

ps -ef |gerp qds_center

监听端口:6000
(2)cc_monitor
进程检查方式:

ps -ef |gerp cc_monitor

(3)mul_server
进程检查方式:

ps -ef |gerp mul_server

监听端口:55100

2、cache节点

(1)cc_agent
进程检查方式:

ps -ef |gerp qds_center

监听端口:5000
(2)cc_monitor_agent
进程检查方式:

ps -ef |gerp monitor_center

监听端口:9881,9887
(3)mul_server_agent
进程检查方式:

ps -ef |gerp mul_monitor_center

(4)redis-server
进程检查方式:

ps -ef |gerp redis-server |gerp { app_id}

3、proxy节点

(1)cc_agent
进程检查方式:

ps -ef |gerp qds_center

监听端口:5000
(2)cc_monitor_agent
进程检查方式:

ps -ef |gerp monitor_center

监听端口:9881,9887
(3)mul_server_agent
进程检查方式:

ps -ef |gerp mul_monitor_center

(4)interface
进程检查方式:

ps -ef |gerp interface |gerp { app_id}

第三部分 Redis使用

1、Redis创建实例时,支持开源格式类型的链接方式:

redis-cli -h IP地址 -p 端口 -a 密码

2、Redis提供全方位的监控数据和自定义告警功能,监控指标包括负载监控、访问统计和网络流量等。
3、Redis巡检
登录 newcc_<idc_id>查看相关数据
(1)查看机器状态

select * from interface_machine_t;
select * from redis_machine_t;
#state 0 表示增加的节点失败的节点;1 表示正常使用中的节点;2 表示删除但未删除成功的节点

(2)查看进程状态是否正常

select * from interface_proc_t;
select * from redis_procs_t;
#state 0 表示增加的节点失败的节点;1 表示正常使用中的节点;2 表示删除但未删除成功的节点

(3)检查CC流程日志,查看/data/log/redis/cc-debug.log是否有异常

备注:以上内容主要来自腾讯云课堂相关课程内容。

上一篇:2023-12-13 TBase初介绍

上一篇 下一篇

猜你喜欢

热点阅读