搜狐视频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 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访问系统,跳转到应用列表下:

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),进入机器管理,点击添加机器,添加机器信息是开通应用的基础。 搜狐的兄弟们还录制了视频教程,真乃开源的良心作品:http://my.tv.sohu.com/pl/9100280/index.shtml

本文转载自:http://www.linuxprobe.com/sohu-tv-cachecloud/

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

时间: 2024-10-09 00:35:52

搜狐视频Redis私有云平台CacheCloud的相关文章

搜狐视频真实地址手动获取方法

1.打开搜狐视频地址: 比如 http://tv.sohu.com/20160713/n459068644.shtml 2.按F12,打开控制台 3.切换视频分辨率(以下以超清为例子,分辨率看width的数字一般1280为高清) 4.寻找Network下面的vrs_flash.action?vid 5.双击打开网页 链接类似于:http://hot.vrs.sohu.com/vrs_flash.action?vid= 6. 按Ctrl+F,搜索.mp4 7.找出非sample的视频, ["/47

江湖风云再起——全球最高性价比私有云平台解决方案发布

武汉闻风多奇软件有限公司致力于成为全球领先的云计算解决方案供应商,通过多年技术攻关,与台北.波斯顿两大海外研发中心联合发布了一套具有全球最高性价比的自主知识产权私有云解决方案.全新发布的私有云解决方案是一体化集中式云管理服务平台,已经形成涵盖IaaS.PaaS.SaaS三个层面整体解决方案服务能力,凭借闻风高端服务器.海量存储.云管理平台.信息安全技术为客户打造领先的云数据中心,并且全方位满足政府与企业信息化需求. 闻风私有云解决方案Winphone Virutal Mangement(WVM)

仿爱奇艺视频,腾讯视频,搜狐视频首页推荐位轮播图介绍(一)

请尊重分享成果,转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52327435 前言:本篇只是一个介绍这个一个类库,具体实现思路代码会下篇中进行分析出来, 仿爱奇艺视频,腾讯视频,搜狐视频首页推荐位轮播图github地址: https://github.com/hejunlin2013/SuperIndicator , 如果觉得还行,欢迎点个star. SuperIndicator a superindicatorlibray fo

一个仿爱奇艺视频,腾讯视频,搜狐视频首页推荐位轮播图类库

前言:本篇只是一个介绍这个一个类库,具体实现思路代码会下篇中进行分析出来, 一个仿爱奇艺视频,腾讯视频,搜狐视频首页推荐位轮播图类库,  github地址: https://github.com/hejunlin2013/SuperIndicator , 如果觉得还行,欢迎点个star. SuperIndicator a superindicatorlibray for viewpager, banner 仿爱奇艺视频,腾讯视频,搜狐视频首页推荐位轮播图 专业轮播图库,没有之一 也可以应用于广告

新一代的免费私有云平台 Nano 0.3.1 全功能一览

简介 Nano是基于CentOS/KVM构建计算资源池并提供云主机实例管理服务的新一代IaaS(架构即服务)软件平台.用户可以通过在普通x86服务器上安装Nano模块,将服务器集群转换为私有云平台,并且提供云主机服务. Nano使用Go语言开发,在极低的资源占用下能够提供强大而稳定的服务,同时避免Openstack等传统云平台需要大量外部组件依赖,维护复杂并且稳定性差的问题.所有模块均编译为独立运行的二进制包,模块升级时直接替换即可,无需考虑复杂的外部依赖,极大降低了维护难度和工作量. Nano

私有云平台CloudStack V4.11安装和配置连载1

CloudStack 的安装和使用 1. CloudStack简介:   Apache CloudStack是一种开源软件,旨在部署和管理大型虚拟机网络,作为高度可用,高度可扩展的基础架构即服务(IaaS)云计算平台.CloudStack被许多服务提供商用于提供公共云服务,并由许多公司提供内部(私有)云产品,或作为混合云解决方案的一部分.   CloudStack是一个开箱即用的解决方案,包括大多数组织希望使用IaaS云的整个"堆栈"功能:计算编排,网络即服务,用户和帐户管理,完整和开

YY游戏私有云平台实践 (转BOSS的InfoQ发文 )

作者 风河 发布于 2016年1月13日 | 讨论 编者按:YY游戏的页游早在2013年就在云平台上运行,其Cloud 1.0已经支撑几十万的同时在线用户.日前,YY游戏云平台进行了Cloud 2.0的改造,其主要目标是支撑端游,同时也将继续服务页游.手游的运营. 这次架构升级是一次完全重构——抛弃OpenStack,网络.计算.存储业务都是自己实现.作为YY游戏云平台的负责人,风河在本文里主要描述了YY游戏需要建设一个什么样的云平台,以及如何建设这个云平台的. YY游戏的业务需求变迁 YY游戏

javascript:第五章 练习 搜狐视频记录片列表展示

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>第五章

开源私有云平台 Nano v0.6.1发布 - 新增云主机地址池管理/Windows server虚

大家好,新一轮迭代完成,我们距离1.0正式发布又近了一步. 上一轮社区投票中得票最多的地址池管理功能在0.6.1中已经开发完成.地址池功能允许管理员添加多个IP地址网段绑定到计算资源池,当该资源池新建实例时,就会自动从地址段中分配IP地址,并且通过DHCP方式通知虚拟机操作系统.实例删除时,该IP地址释放回地址段,可以重新分配给其他实例. Nano为云主机分配的IP地址由平台管理,保持稳定,即使实例出现故障切换或者手工迁移到其他宿主机节点上,IP依然保持不变. 地址池功能能够让管理员更有效地规划