4.3 运维成本

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介:

关于如何降低Redis的运维成本,可以参考AliRedis和Reborndb。

4.3.1 阿里AliRedis

AliRedis是来自阿里巴巴的基于Redis改造的缓存产品,目前还未开源。网上只能搜到这么一篇资料《AliRedis单机180w QPS, 8台服务器构建1000w QPS Cache集群》

AliRedis采取“多线程Master + N*Worker的工作模式。Master线程负责监听网络事件, 在接收到一个新的连接后, Master会把新的fd注册到Worker的epoll事件中, 交由worker处理这个fd的所有读写事件。这样Master线程就可以完全被释放出来接收更多的连接, 同时又不妨碍worker处理业务逻辑和IO读写。”

AliRedis对Redis架构上非常类似Nginx的Master-Worker架构模式,那Nginx中的Master进程都有哪些作用呢?(《Nginx工作进程模型》)

  • 读取和校验配置文件
  • 创建、绑定、关闭套接字
  • 启动、终止、维护所配置数目的worker进程
  • worker进程接受、处理来自客户端的连接
  • 不中断服务刷新配置文件
  • 不中断服务升级程序
  • 反向代理和过滤功能

因此,每台服务器上由一个Master管理这台机器上的所有Redis实例,达到充分利用多核多线程。同时每台服务器只需维护一个AliRedis实例,大大降低运维成本的目的。也可以根据需要,实现类似Nginx中Master的各种功能。

4.3.2 豆瓣Reborndb

Reborndb基本是从Codis衍生出来的,但相比Codis多了一个Agent组件。agent主要是部署在Redis实例的机器上,类似AliRedis的Master,但Agent不负责处理请求。它负责监管Redis实例的生命周期,例如Redis部署、启动、停止、重启以及升级等等。它通过一套RESTFul接口来暴露这些操作。此外,它还担当着Redis高可用性协调者的角色,类似官方HA方案的Sentinel。

4.3.3 Master vs. Proxy

Master与Redis实例在一台机器上,Master负责建立连接,之后的I/O读写都交给Worker进程处理。因此,这与《Netty 4源码解析:请求处理》介绍过的主从Reactor模式里的主Reactor非常像!只不过Netty的模型是在一个进程里通过线程实现的,而AliRedis是类似Nginx用进程实现的。

而Proxy的责任要比Master大得多,它负责请求和响应处理的全过程,而不是建立连接后直接交给后端。所以Proxy的压力也不小,一般与Redis实例不部署在一台机器上。实际上,它与Master并不矛盾。Proxy模式负责解决协议解析、请求的过滤转发、结果聚合等问题,而Master-Worker模式则让Redis享受到多核的速度、不停机程序升级、降低运维成本等






本文作者:geelou
本文来自云栖社区合作伙伴rediscn,了解相关信息可以关注redis.cn网站。
相关实践学习
基于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
目录
相关文章
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
101 1
|
3月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
68 3
|
5月前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心运维成本如何降低
核心系统转型问题之云原生分布式核心运维成本如何降低
|
5月前
|
运维 前端开发 Serverless
中后台前端开发问题之降低数据库使用门槛和运维成本如何解决
中后台前端开发问题之降低数据库使用门槛和运维成本如何解决
40 0
|
5月前
|
消息中间件 运维 关系型数据库
超低运维成本,构建自有高性能商业充电运营平台
奥升新能源技术服务平台,致力于高性能高费效比技术框架研发与实施,致力于为客户提供性价比最优的技术解决方案和运维服务。
|
运维 Serverless API
函数计算既可以做到免运维、成本可控
函数计算既可以做到免运维、成本可控
224 1
|
SQL 存储 运维
如何降低 Flink 开发和运维成本?阿里云实时计算平台建设实践
本次分享主要介绍阿里云实时计算平台从 2.0 基于 Yarn 的架构到 3.0 云原生时代的演进,以及在 3.0 平台上一些核心功能的建设实践,如健康分,智能诊断,细粒度资源,作业探查以及企业级安全的建设等。
如何降低 Flink 开发和运维成本?阿里云实时计算平台建设实践
|
存储 弹性计算 运维
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(上)
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(上)
119 0
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(上)
|
存储 弹性计算 运维
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(下)
《CloudOps云上自动化运维 白皮书2.0》— 八、成本和资源量化管理能力 Cost—4. 工具推荐(下)
134 0
|
存储 弹性计算 运维
《CloudOps 云上自动化运维白皮书 2.0》——八,成本和资源量化管理能力 Cost——4.工具推荐(上)
《CloudOps 云上自动化运维白皮书 2.0》——八,成本和资源量化管理能力 Cost——4.工具推荐(上)

热门文章

最新文章