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

一、 部署环境
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. 02.Elasticsearch入门

        Elasticsearch支持Http类型的Restful风格API请求,需要打开9200端口.Elasticsearch服务会监听两个端口9200和9300,9200提供Http Restf ...

  2. 160329(一)、在web.xml文件里配置org.springframework.web.context.ContextLoaderListener

    Java代码 <!-- 指明spring配置文件在何处 --> <context-param> <param-name>contextConfigLocation& ...

  3. angular中的子路由用法

    Angular ui-route的用法 引入angular和使用angular子路由时需要的依赖模块angular-ui-route.js.并且在html中将路由要插入的位置写上.而在js部分中和an ...

  4. Hibernate的大对象映射

    1在持久类中直接声明是java.sql.Blob类型 2在.hbm.xml文件中配置一下信息 <!-- 映射大对象 (就是字符长度超过255和图片想转换成二进制的数据)--> <!- ...

  5. 该死的Kafka,远程连接Kafka超时以及解决办法

    关于消息的发布与订阅,之前一直使用的是activeMQ基于JMS的消息队列进行操作的,最近听说有一个更高效的消息的发布与订阅技术,就是Kafka. 关于kafka的介绍,在这里就不做过多讲解了,因为我 ...

  6. webservice接口问题:Payload: No message body writer has been found for class domain, ContentType: application/xml

    当在使用cxf-rs的webservice的时候,有时候在传输数据,会发生这种错误 错误代码: Response-Code: 500 Content-Type: text/plain Headers: ...

  7. 用Python构建你自己的推荐系统

    用Python构建你自己的推荐系统 现如今,网站用推荐系统为你提供个性化的体验,告诉你买啥,吃啥甚至你应该和谁交朋友.尽管每个人口味不同,但大体都适用这个套路.人们倾向于喜欢那些与自己喜欢的其他东西相 ...

  8. python学习笔记(六)— 模块

    一.os.sys模块 import os print(os.getcwd())#取当前工作目录,绝对路径 print(os.chdir("../"))#更改当前目录 print(o ...

  9. Junit 3.8.1 源码分析之两个接口

    1. Junit源码文件说明 runner framework:整体框架; extensions:可以对程序进行扩展; textui:JUnit运行时的入口程序以及程序结果的呈现方式; awtui:J ...

  10. vSphere虚拟机磁盘热扩容

    1.添加硬盘 2.刷新服务器文件系统 新添加的硬盘需要刷新文件系统,要不然不能识别新添加的硬盘. 对scsi_host进行重新扫描,查找 scsi 驱动器的号 驱动号为scsi后面的数字,即为2,此时 ...