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

一、 部署环境
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. Bootstrap学习记录

    中文官网 Bootstrap 插件 Bootstrap Multiselect bootstrap-multiselect 的简单使用,样式修改,动态创建option JS组件系列——Bootstra ...

  2. Elastic Load Balancing with Sticky Sessions

    Elastic Load Balancing with Sticky Sessions — Shlomo Swidler https://shlomoswidler.com/2010/04/elast ...

  3. ubuntu安装mysql步骤

    https://dev.mysql.com/downloads/file/?id=477124 ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get inst ...

  4. Windows使用中的一些小技巧

    1.网站保存在桌面 在桌面新建一个快捷方式,然后输入网址即可.

  5. 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

    前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...

  6. filebeat配置不同路径下的log的两种方法

    第一种方法: vim /etc/filebeat/filebeat.yml filebeat.inputs: # Each - is an input. Most options can be set ...

  7. python collections模块 计数器(counter)

    一.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 把我写入的元素出现的多少次都计算出来 import collectio ...

  8. NAND flash学习所获----(Zac)

    Nand Falsh外围电路:peripheral circuit 1.Nand flash里至少有2个state Machine(controller),即2个主控. 一个主控:负责处理前端事情. ...

  9. Spring框架第六篇之Spring与DAO

    一.Spring与JDBC模板 1.搭建环境 首先导入需要的jar包: 以上jar中多导入了DBCP和C3P0的jar包,因为这里需要演示怎么配置多种数据源,所以导入了这两个包,在实际开发中无需导入这 ...

  10. yii2 商品上下架

    视图层 <td><?php if($value['is_on_sale'] == 1) {?><img src="../web/images/yes.gif&q ...