最近项目上线部署,要求redis作高可用,由于redis cluster还不是特别成熟,就选择了redis sentinel做高可用.redis本身有replication,实现主从备份.结合sentinel可以做主.从自动切换. 生产环境中,一般要求有3个redis节点.但本文为了试验方便,只用了两个节点,一主一从. 部署规划172.16.203.10 主节点 172.16.203.4 从节点 redis版本为3.0.1 主节点redis采用源码编译的方式安装,非常简单,解压出来,进入解压目录…
Redis Sentinel主从高可用方案 本文介绍一种通过Jed和Sentinel实现Redis集群(主从)的高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定), 附:Redis Cluster集群主从方案:http://www.cnblogs.com/soul-wonder/p/8891256.htmlRedis Sentinel主从高可用方案:http…
环境搭建 三台服务器: 192.168.126.100(master) 192.168.126.110(slaver) 192.168.126.120(slaver) 拷贝192.168.126.100(主)服务器中的Redis到从机,保证Redis版本.环境一致: scp -r redis-3.2.0/ root@192.168.126.110:/usr/local/ // 安装目录 scp -r redis/ root@192.168.126.110:/usr/local/ // 自定义配置…
nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存   一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发生单点故障,并且单服务器需要处理所有的请求会导致压力较大. 单台Redis服务器内存容量有限,不易扩展. 第一个问题可以通过Redis主从模式实现单节点的高可用(HA). 从节点(slave)是主节点(master)副…
1.redis主从高可用集群结构 2.k8s部署有状态的服务选择 对于K8S集群有状态的服务,我们可以选择deployment和statefulset statefulset service&deployment 对于有状态的服务例如:redis和mysql,我们使用statefulset为首选 3.设计原理 statefulset 的设计原理: 拓扑状态 应用的多个实例之间不是完全对等的关系,这个应用实例的启动必须按照某些顺序启动,比如应用的主节点 A 要先于从节点 B 启动.而如果你把 A…
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker Compose编排容器: https://www.cnblogs.com/ee900222/p/docker_5.html…
一.环境 三台服务器分别为: 172.28.18.75/172.28.18.103/172.28.18.104 在三台服务器上分别部署一个redis节点以及一个sentinel节点 二.主从复制配置 1.172.28.18.75为主redis配置在25700端口 vim /etc/redis/redis-25700.conf 主要配置项如下: bind 172.28.18.75 port 25700 #从节点访问主节点的密码masterauth "password" #redis客户端…
背景 上一期我们实现了基于lvs负载均衡集群的电商网站架构,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端节点已经通过集群技术保障了可用性,但对于前端负载均衡器来说,是个比较大的安全隐患,因为当前端负载均衡器出现故障时,整个集群就处于瘫痪状态,因此,负载均衡器的可用性也显得至关重要,那么怎么来解决负载均衡器的可用性问题呢? 技术说明 集群(cluster)技术是一种较新的技术,通过集群技术,可以在…
iOS 从0到1搭建高可用App框架 最近在搭建新项目的iOS框架,一直在思考如何才能搭建出高可用App框架,能否避免后期因为代码质量问题的重构.以前接手过许多“烂代码”,架构松散,底层混乱,缺少规范,导致团队开发时代码风格迥异,清晰的项目结构和良好的代码规范是保证产品质量的关键,下面分享一下我的架构思路. 架构图: 架构图 架构原则:易读性.易维护性.易扩展性. 一.思考 做好一件事,花在思考上的时间应该多于执行. 首先根据产品需求和设计图,脑中先建立一个产品架构: 1. 产品的定位是什么.…
使用redis实现程序或者服务的高可用,就是将某一程序或服务部署在不同服务器上,或者是跨机房部署,当运行服务的服务器挂了之后,其他服务器上的该服务能立马顶上,这里我简单的使用redis实现这一目的. 思路是: 部署在不同服务器上的相同服务,隔段时间去redis上查下某一个键(自己定义),如果该键不存在,则设置该键的值,可以是自己本服务器的IP,并设置的一个过期时间,然后执行服务的业务逻辑,如果该键存在,查看该键的值是不是自己的IP,如果是,更新该键的过期时间.代码如下: # coding:utf…