阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

搜狐视频Redis私有云平台CacheCloud

84次阅读
没有评论

共计 3320 个字符,预计需要花费 9 分钟才能阅读完成。

一、CacheCloud 是做什么的

CacheCloud 提供一个 Redis 云管理平台:实现多种类型 (Redis Standalone、Redis Sentinel、Redis Cluster) 自动部署、解决 Redis 实例碎片化现象、提供完善统计、监控、运维功能、减少开发人员的运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端
搜狐视频 Redis 私有云平台 CacheCloud

二、CacheCloud 提供哪些功能
  • 监控统计:提供了机器、应用、实例下各个维度数据的监控和统计界面。
  • 一键开启:Redis Standalone、Redis Sentinel、Redis Cluster 三种类型的应用,无需手动配置初始化。
  • Failover:支持哨兵, 集群的高可用模式。
  • 伸缩:提供完善的垂直和水平在线伸缩功能。
  • 完善运维:提供自动运维和简化运维操作功能,避免纯手工运维出错。
  • 方便的客户端:方便快捷的客户端接入。
  • 元数据管理:提供机器、应用、实例、用户信息管理。
  • 流程化:提供申请,运维,伸缩,修改等完善的处理流程
三、CacheCloud 解决什么问题

搜狐视频 Redis 私有云平台 CacheCloud

1. 部署成本

Redis 多机 (Redis-Sentinel, Redis-Cluster) 部署和配置相对比较复杂,较容易出错。
例如:100 个 redis 数据节点组成的 redis-cluster 集群,如果单纯手工安装,既耗时又容易出错。

2. 实例碎片化

作为一个 Redis 管理员 (可以看做 redis DBA) 需要帮助开发者管理上百个 Redis-Cluster 集群,分布在数百台机器上,人工维护成本很高,需要自动化运维工具。

3. 监控、统计和管理不完善

一些开源的 Redis 监控和管理工具,例如:RedisLive(Python)、Redis Commander(Node.js),Redmon(Ruby)无论从功能的全面性(例如配置管理,支持 Redis-Cluster 等等)、扩展性很难 满足需求。

4. 运维成本

Redis 的使用者需要维护各自的 Redis,但是用户可能更加善于使用 Redis 实现各种功能,但是没有足够的精力和经验维护 Redis。Redis 的开发人员如同使用 Mysql 一样,不需要运维 Mysql 服务器,同样使用 Redis 服务,不要自己运维 Redis,Redis 由一些在 Redis 运维方面更有经验的人来维护(保证高可用,高扩展性),使得开发者更加关注于 Redis 使用本身。

5. 伸缩性

本产品支持 Redis 最新的 Redis-Sentinel、Redis-Cluster 集群机构,既满足 Redis 高可用性、又能满足 Redis 的可扩展性,具有较强的容量和性能伸缩能力。

6. 经济成本

机器利用率低,各个项目组的 Redis 较为分散的部署在各自服务器上,造成了大量闲置资源没有有效利用。

7. 版本不统一

各个项目的 Redis 使用各种不同的版本,不便于管理和交互。

四、CacheCloud 提供的价值
  • 规模化自动运维:降低运维成本,降低人为操作出错率。
  • 自由伸缩:提供灵活的伸缩性,应用扩容 / 收缩成本降低,机器资源得到重复利用。
  • 团队提升,开源贡献:提升云产品开发设计经验, 自己作为开发者和使用者,Eating your own dog food。
五、CacheCloud 在搜狐的规模
  • 每天 100+ 亿次命令调用
  • 2T+ 的内存空间
  • 800+ 个 Redis 实例
  • 100+ 台机器
六、CacheCloud 环境需求
  • Java 7
  • Maven 3
  • MySQL
  • Redis 3
七、CacheCloud 快速开始
1、初始化数据库

导入项目中 cachecloud.sql 初始化库表结构。默认插入 admin 超级管理员

2、CacheCloud 项目配置

使用了 maven 作为项目构建的工具,提供了 local.properties 和 online.properties 两套配置作为测试、线上的隔离。属性配置说明:

属性名 说明 示例
cachecloud.db.url mysql 驱动 url jdbc:mysql://127.0.0.1:3306/cache-cloud
cachecloud.db.user mysql 用户名 admin
cachecloud.db.password mysql 密码 admin
cachecloud.machine.username 服务器用户名, 用于 ssh ${your machine username}
cachecloud.machine.password 服务器密码, 用于 ssh ${your machine password}
web.port spring-boot 内嵌 tomcat 启动端口 8080
3、启动 cachecloud 系统

(1). 本地启动: 在 cachecloud-web 模块下运行

mvn spring-boot:run

(2). 生产环境

1. 构建:mvn -Ponline clean package
    2. 上传 war 包到特定目录下: 如 /opt/cachecloud-web
    3: 拷贝 cachecloud-web-1.0-SNAPSHOT.conf 配置到 /opt/cachecloud-web 目录下, 注意必须跟 war 包同目录才生效
    4. 作为 linux 服务启动:
    sudo ln -s /opt/cachecloud-web/cachecloud-web-1.0-SNAPSHOT.war /etc/init.d/cachecloud-web 
    /etc/init.d/cachecloud-web start

(3). 登录确认

  • a) 访问:http://127.0.0.1:9999
    (9999 是 tomcat 的端口号)
  • b) 如果访问正常,请使用用户名:admin、密码:admin 访问系统,跳转到应用列表下:
    搜狐视频 Redis 私有云平台 CacheCloud
4、添加机器

(1). 运行脚本:
cachecloud 项目中的 cachecloud-init.sh 脚本是用来初始化服务器的 cachecloud 环境,主要工作如下:

  • a). 创建 cachecloud 项目用户:因为 cachecloud 项目的部分功能 (redis 启动、服务器监控) 是通过 ssh 完成的,所以这里的用户和密码要和项目中的相对应,具体详见第三节。
  • b). 创建 cachecloud 项目的工作目录、数据目录、配置目录、日志目录、redis 安装目录、临时目录等等。
    (/opt/cachecloud/data、/opt/cachecloud/conf、/opt/cachecloud/logs、/opt/cachecloud/redis、/tmp/cachecloud)
  • c). 安装最新的 release 版本的 Redis

(2). 脚本执行

  • (a). 使用 root 登录目标服务器。
  • (b). 将 cachecloud-init.sh 脚本拷贝到目标服务器当前用户目录下。
  • (c). 执行 sh cachecloud-init.sh ${yourusername}
  • (d). 两次确认密码
  • (e). 一路安装直到成功。

(3). 建议和警告

  • (a). 请在 root 用户下执行初始化脚本,因为初始化脚本涉及到了用户的创建等较高的权限。
  • (b). 出于安全的考虑,所选的机器最好不要有外网 IP 地址。
  • (c). 用户名和密码最好不要用 cachecloud, 密码尽可能复杂。
  • (d). 机器的 ssh 端口最好是 22。
  • (e). 请确保 /opt/ 有足够的硬盘空间,因为 /opt/cachecloud/data 要存储 RDB 和 AOF 的持久化文件,如果硬盘过小,会造成持久化失败。(如果硬盘确实很小,建议建立一个软链接到 /opt/cachecloud/data, 且保证软链接的目录也是 username 用户,一定要保证 /opt /cachecloud 的目录结构)
  • (f). 脚本中目前使用的是 redis-3.0.6,如有需要请自行替换,建议使用 3.0 release 以后的版本。

(4). 添加机器
进入管理员界面(http://ip:port/manage/total/list),进入机器管理,点击添加机器,添加机器信息是开通应用的基础。
搜狐视频 Redis 私有云平台 CacheCloud
搜狐的兄弟们还录制了视频教程,真乃开源的良心作品:http://my.tv.sohu.com/pl/9100280/index.shtml

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计3320字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中