现在的业务系统越来复杂,大型门户网站内容越来越多,数据库的数据量也越来愈大,所以有了“大数据”这一概念的出现。但是我们都知道当数据库的数据量和访问过于频繁都会影响系统整体性能体验,特别是并发量高的系统。为此,我们通过数据缓存来,减轻数据库的压力。为此,随着时间的步伐,各式各样的缓存技术的出现,让我们对于这些技术有些眼花缭乱。不是说功能最全的最先进,就是适合自己。我们要看看自己系统的定位去评估自己的系统适合使用哪种缓存机制。当然,也可以通过定义缓存接口,以后方便缓存机制的替换。下面我们来了解下缓存的概念、分类及发展趋势。

一、 部署环境
a、Redis版本

3.0.5 选取原因:只有3.0以后的版本才官方支持分布式集群

b、服务器操作系统

CentOS 7 选取原因:Redis官方版本是Linux环境下的

二、 知识准备
1、概念准备

首先要知道为什么要对做缓存分布式集群,一是我们知道本地缓存压力大时,不能不满足需求,自然会考虑到把缓存放到网络服务器上,根据业务需求增大,这样可以进行水平扩展;二是我们知道当分布式部署方案的节点服务器各自承担自己负责的工作,与其他节点相互独立,这是当某台节点宕机或者网络异常,就会导致不能访问,这样我们如果将各个节点,进行单独的集群式部署,可以达到安全性要求了。

集群的目的我们初步了解了,但是我之前的之前的理解,用两三台个服务器,这样不就算是集群了么。其实不然,Redis起初已经提供了主/从模式,这最多只能算是备份,一台服务器挂了,另一台服务器顶上,而没有达到真正意思上的集群。真正意义上的集群,不是备份,而且含有均衡的作用。那怎么达到均衡呢?我们建议所有的生产环境至少部署5个节点,因为在较小的集群中,单点故障意味着复制的需求很可能得不到满足。这将导致性能下降并且增加数据丢失的风险。另外,小于5个节点的集群将使得75%至100%的节点需要响应每个请求,这将导致不必要的负载从而降低性能。

2、拓扑预览

集群部署拓扑图

容错图
三、 部署实践
1、安装好CentOS7(为让不熟悉的Linux的园友能够不陌生,能够在图形化界面完成尽量在图形化界面操作完成)
2、在redis.io下载最新redis源码包,然后右键解压
3、编译和安装

注意这个,一定要登录root用户才行。桌面用户一般是没有root权限的。(由于我已经编译和安装过界面,会有不同)

4、 配置redis的配置文件
a、建立6个文件夹
b、建立配置文件(将端口号修改后,复制粘贴到建立好的每个文件夹中)
c、启动6个redis-server
d、实现集群

这我们需要使用一个(redis-trib.rb)程序,需要ruby环境支持

下载redis-3.2.1.gem

e、执行集群命令
e、检验结果
总结,之前看别人写的,总认为知道了,但是真的自己动起手来,总是遇到这样或者那样的问题。遇到问题不可怕,就怕解决不了问题。Linux不懂,redis概念也不太清楚,当命令敲起来,慢慢豁然开朗。学习=理论+实践,这次又有很大的体会了。

参考一:官方中文翻译集群教程

.net 数据缓存(二)之Redis部署的更多相关文章

  1. 大数据【二】HDFS部署及文件读写(包含eclipse hadoop配置)

    一 原理阐述 1' DFS 分布式文件系统(即DFS,Distributed File System),指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连.该系统架构 ...

  2. 学习Spring Boot:(二十五)使用 Redis 实现数据缓存

    前言 由于 Ehcache 存在于单个 java 程序的进程中,无法满足多个程序分布式的情况,需要将多个服务器的缓存集中起来进行管理,需要一个缓存的寄存器,这里使用的是 Redis. 正文 当应用程序 ...

  3. Spring Boot 揭秘与实战(二) 数据缓存篇 - Redis Cache

    文章目录 1. Redis Cache 集成 2. 源代码 本文,讲解 Spring Boot 如何集成 Redis Cache,实现缓存. 在阅读「Spring Boot 揭秘与实战(二) 数据缓存 ...

  4. 企业做数据缓存是使用Memcached还是选Redis?

    企业是使用Memcached还是选Redis? 在构建一款现代且由数据库驱动的Web应用程序并希望使其拥有更为出色的性能表现时,这个问题总会时不时出现.并给每一位开发人员带来困扰.在考虑对应用程序的性 ...

  5. 数据库历险记(三) | 缓存框架的连环炮 数据库历险记(二) | Redis 和 Mecached 到底哪个好? 数据库历险记(一) | MySQL这么好,为什么还有人用Oracle? 面对海量请求,缓存设计还应该考虑哪些问题?

    数据库历险记(三) | 缓存框架的连环炮   文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3n ...

  6. Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析

    mongodb和memcached不是一个范畴内的东西.mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.mongodb和memcached不存在谁替换谁的问题. 和 ...

  7. Redis笔记(二)Redis的部署和启动

    Linux下Redis的部署和启动 下载安装介质 Redis官网地址:http://www.redis.io/目前最新版本是redis-3.0.3. 可以访问 http://download.redi ...

  8. Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门

    文章目录 1. 声明式缓存 2. Spring Boot默认集成CacheManager 3. 默认的 ConcurrenMapCacheManager 4. 实战演练5. 扩展阅读 4.1. Mav ...

  9. redis之(十二)redis数据的持久化

    [一]redis的数据为什么要持久化 --->redis的存取数据性能高,是由于将所有数据都存储在内存中.当redis重启的时候,存储在内存中的数据就容易丢失. --->把redis作为数 ...

随机推荐

  1. 160530、memcached集群(spring集成的配置)

    第一步:在linux机或windows机上安装memcached服务端(server) linux中安装memcached:centos中命令 yum -y install memcached 如果没 ...

  2. 飘城旅游网pc,流式,响应式布局

    相关视频教程http://pan.baidu.com/s/1o77wirK 我的源码链接:http://pan.baidu.com/s/1czTsKI

  3. Sass之一(基础篇)

    源码链接:http://pan.baidu.com/s/1o8M51hCSass 学习Sass之前,应该要知道css预处理器这个东西,css预处理器是什么呢? Css预处理器定义了一种新的语言将Css ...

  4. Markdown安装与简单使用

    早就听过Markdown的大名了,说是最适合程序员的编辑器,一点也不为过.平时写文章,写博客.除了内容以外,还要被一堆繁琐的样式困扰,毕竟样式太难看,既是自己的文章,也会懒得看的.今天正好看到博客上面 ...

  5. React中ref的用法

    在React数据流中,父子组件唯一的通信方式是通过props属性:那么如果有些场景需要获取某一个真实的DOM元素来交互,这时候就要用到React的refs属性. 1.可以给DOM元素添加ref属性 c ...

  6. 原!linux 监控 jar定时任务 挂了重启 脚本

    #!/bin/bash time=$(date "+%Y-%m-%d %H:%M:%S") echo "monitor start at: ${time}" P ...

  7. react 将字符串解析为markdown

    react 中有许多组件支持把字符串转化为markdown,并以html的形式展示出来.这里我试用了 react-markdown 和 hyperdown 两个库,发现hyperdown比较好,因为r ...

  8. 兼容获取scrollTop和scrollLeft(被滚动条卷走的部分)

    function scroll() { //ie9+ 标准浏览器 if (window.pageYOffset != null) { return { left: window.pageXOffset ...

  9. rest_framework 之分页器

    一  分页器--准备 1.1  基本参数 # 普通分页 from rest_framework.pagination import PageNumberPagination # 偏移分页 from r ...

  10. Flask上下文管理

    一.一些python的知识 1.偏函数 def add(x, y, z): print(x + y + z) # 原本的写法:x,y,z可以传任意数字 add(1,2,3) # 如果我要实现一个功能, ...