当前位置: 首页 > news >正文

具有口碑的柳州网站建设价格用专业的网络技术制作网站

具有口碑的柳州网站建设价格,用专业的网络技术制作网站,广州做网站代理商,wordpress 百度网盘头脑风暴出于学习目的#xff0c;您可以很轻松地在docker环境下运行redis的单个实例#xff0c;但是如果您需要在生产环境中运行它#xff0c;那么必须将Redis部署为HA(High Avaliable)模式。Redis Sentinel为Redis提供高可用性#xff0c;这意味着使用Sentinel可以创建Red… 头脑风暴出于学习目的您可以很轻松地在docker环境下运行redis的单个实例但是如果您需要在生产环境中运行它那么必须将Redis部署为HA(High Avaliable)模式。Redis Sentinel为Redis提供高可用性这意味着使用Sentinel可以创建Redis HA部署该部署可以在无需人工干预的情况下抵抗某些类型的故障。Redis Sentinel提供的主要功能是当主节点发生故障时它将自动选择一个备用节点并将其升级为主节点。它是如何做到的它会定期检查Redis实例的运行状况和运行状况还会将新的主服务器通知给客户端和从服务器。使用的是带有领导者选举算法的gossip协议。Sentinel还充当客户端发现的中心授权来源客户端连接到Sentinel以获取主节点的地址。本文以自己的亲身经历使用Docker-compose搭建一个Redis Sentinel模型1:master-2:slave:3:sentinelDocker-compose搭建Redis SentinelRedis Sentinel是针对原始Master/Slave模型而衍生的高可用模型。我们为便于灵活部署,先易后难先搭建Redis Master/Slave模型再搭建Redis Sentinel模型。文件组织格式如下redis-sentinel ├── redis │   └── docker-compose.yml └── sentinel├── docker-compose.yml├── sentinel1.conf├── sentinel2.conf├── sentinel3.conf└── sentinel.conf 1. Master/Slave进入Redis文件夹创建docker-compose.yml文件下面的Compose文件设置了1Master 2Slaveversion: 3 services:master:image: rediscontainer_name: redis-mastercommand: redis-server --requirepass redis_pwd --masterauth redis_pwdports:- 6380:6379slave1:image: rediscontainer_name: redis-slave-1ports:- 6381:6379command: redis-server --slaveof redis-master 6379 --requirepass redis_pwd --masterauth redis_pwdslave2:image: rediscontainer_name: redis-slave-2ports:- 6382:6379command: redis-server --slaveof redis-master 6379 --requirepass redis_pwd --masterauth redis_pwd 注意如果设置了Redis客户端访问密码requirepass 那么也要设置相同的副本集同步密码masterauth。另外我们后面使用哨兵模式能够完成故障转移现有的Master可能会变成Slave故在当前Master容器中也要携带masterauth参数。可在容器内使用 config get [Param] 命令验证执行docker-compose up -d会产生3个Redis容器分别映射到宿主机6380、6381、6382端口 默认连接在redis-default网桥。docker ps输出如下fe2eb7a5cce9 redis docker-entrypoint.s… 2 hours ago Up 2 hours 0.0.0.0:6382-6379/tcp redis-slave-2 4c280aa6dc09 redis docker-entrypoint.s… 2 hours ago Up 2 hours 0.0.0.0:6381-6379/tcp redis-slave-1 91b83143b7c1 redis docker-entrypoint.s… 2 hours ago Up 2 hours 0.0.0.0:6380-6379/tcp redis-master 2. Redis Sentinel很明显我们即将搭建的Sentinel容器需要能访问到以上3个容器故需要在形成Sentinel容器时使用外置的redis-default网桥(Redis Master/Slave docker-compose 已经创建).2.1 进入sentinel文件夹创建docker-compose.ymlversion: 3 services:sentinel1:image: rediscontainer_name: redis-sentinel-1ports:- 26379:26379command: redis-sentinel /usr/local/etc/redis/sentinel.confvolumes:- ./sentinel1.conf:/usr/local/etc/redis/sentinel.confsentinel2:image: rediscontainer_name: redis-sentinel-2ports:- 26380:26379command: redis-sentinel /usr/local/etc/redis/sentinel.confvolumes:- ./sentinel2.conf:/usr/local/etc/redis/sentinel.confsentinel3:image: rediscontainer_name: redis-sentinel-3ports:- 26381:26379command: redis-sentinel /usr/local/etc/redis/sentinel.confvolumes:- ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf networks:default:external:name: redis_default 2.2 创建哨兵文件将如下内容拷贝进去port 26379 dir /tmp sentinel monitor mymaster 172.20.0.3 6379 2 sentinel auth-pass mymaster redis_pwd sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000 sentinel deny-scripts-reconfig yes 注意以上 172.20.0.3是之前Redis Master/slave启动之后Master节点的IP通过docker inspect [containerIP]获取, 这里我们要配合设置Master/Slave访问密码。2.3 将哨兵文件复制三份Volume进Sentinel容器sudo cp sentinel.conf sentinel1.conf sudo cp sentinel.conf sentinel2.conf sudo cp sentinel.conf sentinel3.conf docker-compose up -d生成3个Sentinel容器。此时docker ps显示如下80f4b776f5dd redis docker-entrypoint.s… 58 minutes ago Up 57 minutes 6379/tcp, 0.0.0.0:26380-26379/tcp redis-sentinel-2 3a1bcdc06253 redis docker-entrypoint.s… 58 minutes ago Up 57 minutes 6379/tcp, 0.0.0.0:26379-26379/tcp redis-sentinel-1 3bada23b572e redis docker-entrypoint.s… 58 minutes ago Up 57 minutes 6379/tcp, 0.0.0.0:26381-26379/tcp redis-sentinel-3 fe2eb7a5cce9 redis docker-entrypoint.s… 2 hours ago Up 2 hours 0.0.0.0:6382-6379/tcp redis-slave-2 4c280aa6dc09 redis docker-entrypoint.s… 2 hours ago Up 2 hours 0.0.0.0:6381-6379/tcp redis-slave-1 91b83143b7c1 redis docker-entrypoint.s… 2 hours ago Up 2 hours 0.0.0.0:6380-6379/tcp redis-master 验证Master/Slave副本集进入Master容器确认两个Slave容器已经连接。2.  Redis Sentinel     进入其中一个Sentinel容器确认Master、2个Slave、另外2个Sentinelflags: master  表明master正常运作异常情况会显示s-down,o-downnum-slaves侦测到2个Slave副本集num-other-sentinels除此之外还有2个哨兵Redis Sentinel高可用停止 master容器等待10s进入任意sentinel容器使用sentinel master mymaster命令观察主节点发生变化观察外挂的Sentinel*.conf 主节点IP发生变化总结输出当初做这个部署曾经尝试采用阿里云的redis-sentinel docker-compose方式发现其采用docker-compose scale生成多个Sentinel容器不能映射到宿主机端口导致外部Redis客户端无法定位sentinel。结合网上一些资料摸索出渐进式部署 共享网桥的方式部署Redis Sentinel, 本人亲测有效。项目开源地址如下大家可积极使用。https://github.com/zaozaoniao/Redis-sentinel-with-docker-compose推荐阅读● 这么香的Chrome插件你都安装了吗● 一文掌握Cookies前世今生● ASP.NET Core跨平台技术内幕● TPL Dataflow组件应对高并发,低延迟要求● 实例解读Docker Swarm● 基于docker-compose的Gitlab CI/CD实践排坑指南戳原文更有料
http://www.huolong8.cn/news/268393/

相关文章:

  • 腕表之家网站国外旅游网站排名
  • 从化网站建设价格软文代写服务
  • discuz 做的网站注册越南网站vn
  • 企业网站 数据库设计深圳网站制作公司排名
  • 大型平台网站开发seo排名优化北京
  • 网站怎么建设以及维护江苏苏州有什么好玩的
  • 做个视频网站腾讯cdn加速优化wordpress
  • 用啥网站做首页泰安营销型网站建设
  • 游戏秒玩网站做网站月薪资多少钱
  • 自己在百度上可以做网站吗网站地址推荐
  • 网站改版 删除栏目wordpress get_children
  • 商务网站建设服务商如何让百度收录自己信息
  • 备案 网站语言网站如何做响应式布局
  • 网站建设策dw php企业英文网站建设
  • 百度添加网站商务网站建设软件
  • 网站建设拓客有什么方法什么是网站模块
  • 触摸屏网站开发省级精品课程网站
  • 做外贸兼职的网站文化传媒公司简介模板
  • 深圳营销型网站建设制作商创网站 灵感
  • 东平专业的网站制作世界十大互联网公司
  • 江西企业网站定制应用软件是指什么
  • 哈尔滨市建设安全监察网站六盘水南宁网站建设
  • 如何建设与维护网站陕西做教学成果网站的公司
  • 网站推广优化外链专业的微网站公司
  • 网站维保方法流量打不开网站怎么办
  • 山东华泰建设集团有限公司官方网站昆明网站建设猫咪
  • 铜川网站seo大学生毕业设计网站
  • 龙岩网站设计制作做盗版音乐网站
  • 360建设网站免费下载电子商务网站怎么做素材包
  • 宁波网站建站的公司邯郸信息港恋家网