搜狐视频Redis私有云平台CacheCloud
一、CacheCloud是做什么的
CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少开发人员的运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端
二、CacheCloud提供哪些功能
- 监控统计: 提供了机器、应用、实例下各个维度数据的监控和统计界面。
- 一键开启: Redis Standalone、Redis Sentinel、Redis Cluster三种类型的应用,无需手动配置初始化。
- Failover: 支持哨兵,集群的高可用模式。
- 伸缩: 提供完善的垂直和水平在线伸缩功能。
- 完善运维: 提供自动运维和简化运维操作功能,避免纯手工运维出错。
- 方便的客户端:方便快捷的客户端接入。
- 元数据管理: 提供机器、应用、实例、用户信息管理。
- 流程化: 提供申请,运维,伸缩,修改等完善的处理流程
三、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 package2. 上传war包到特定目录下:如/opt/cachecloud-web3: 拷贝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访问系统,跳转到应用列表下:
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),进入机器管理,点击添加机器,添加机器信息是开通应用的基础。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/
转载于:https://my.oschina.net/linuxprobe16/blog/800568
搜狐视频Redis私有云平台CacheCloud相关推荐
- 搜狐视频Redis云平台Cachecloud开源-视频教程
搜狐视频Redis云平台CacheCloud的github主页:https://github.com/sohutv/cachecloud 欢迎关注.star.拍砖 转载请注明出处哈:http://ca ...
- 搜狐视频Redis私有云cachecloud开源了
项目地址:https://github.com/sohutv/cachecloud/ 一.CacheCloud是做什么的 CacheCloud提供一个Redis云管理平台:实现多种类型(Redis S ...
- Redis云平台Cachecloud开源-视频教程
有关Redis的入门视频,可以参考:http://carlosfu.iteye.com/blog/2276606 CacheCloud在我们搜狐视频内部运行了接近两年,应该来说是一套非常稳定.靠谱.便 ...
- 破圈的《张朝阳的物理课》,开启“知识突围”的搜狐视频
在互联网耕耘二十多年的搜狐,正在焕发出新的活力. 从搜狐最近公布的2022年第三季度财报来看,营收1.85亿美元,其中在线游戏业务实现收入1.49亿美元,广告收入环比增长3%达到2600万美元.同时, ...
- 搜狐视频开放平台的申请使用方法
软件是否好用,还得大家下载搜狐视频安装才知道.本文分享搜狐视频开放平台的申请使用方法.搜狐视频电脑版是电脑桌面客户端应用,用户只要登录帐号就能够拥有云同步功能,无论是在家.出差都可以查看自己的视频观看 ...
- 视频私有云实战:基于Docker构建点播私有云平台
私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实 ...
- 视频教程-ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频|-云平台
ZStack 带你0基础搭建私有云平台|ZCCT实战培训视频| ZStack云计算解决方案专家,12年虚拟化与云计算相关工作经验,先后就职于IT系统集成商.国内知名软件上市公司以及云计算服务商,分别从 ...
- 搜狐视频如何上传原创视频
很多人都使用搜狐视频,小编给大家分享一下搜狐视频如何上传原创视频相关内容.搜狐视频打造涵盖电影.电视剧.综艺.动漫在内的十余种类型的丰富的正版视频内容库,让搜狐视频进入真正意义上的全类别.高品质时代. ...
- 搜狐视频怎么修改昵称
今天小编给广大用户分享搜狐视频怎么修改昵称.搜狐视频播放器软件可24小时多平台无缝应用体验以及快捷分享,快速登陆等满足用户在线观影需求.搜狐视频播放器的在线视频媒体平台及视频播放器采用的是p2p媒体播 ...
最新文章
- hdu2492 数状数组或者线段树
- Android开源项目
- 字符串的最大最小表示法 模板
- [POJ2184] Cow Exhibition
- php 启动管理工具下载,phpPgAdmin|PostgreSQL管理工具(phpPgAdmin)下载v5.0.4 开源版 - 欧普软件下载...
- 爬取三千条数据需要多久_存储-性能,IOPS,带宽,吞吐量,1TB数据需要多久写完...
- python中自定义模块导入飘红_hadoop streaming 中跑python程序,自定义模块的导入
- 70 SD配置-发票凭证配置-定义回扣协议类型
- 领会一些比较巧妙的算法
- 一张报表节约几十万能耗,新华扬解密精益生产的精髓
- 老李分享:5个衡量软件质量的标准
- 大型项目开发: 隔离 (《大规模C++程序设计》书摘)
- mongo数据库索引原理
- 二项分布,柏松分布和正态分布
- MATLAB学习笔记 plotyy双y轴
- 爬虫之爬取图片(运用了bs4和正则查取)
- 将简体字转换成繁体字
- 设置苹果电脑vsode在新窗口中打开文件
- 自学编程系列——5 pandas入门
- 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现...