账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    docker使用compose和swarm做redis主从集群
    65
    0

    最近在使用docker学习redis,
    当看到redis可以做主从的时候,使用docker部署服务,在一些需要做高速缓存的业务里,有一些问题头脑里没想清楚

    1. redis仅仅作为一个缓存数据库,docker部署的时候是建议本地使用compose集群还是使用swarm或者kubernetes做远程集群(没怎么了解kubernetes,表述有错误请见谅)
    2. redis做主从的场景都是哪些?
    3. 如果要对redis做主从,该怎么回答1?
    4. 如果还要对redis使用sentinel做集群监控,3的问题又该如何?

    我自在本地基于compose实现过简单,redis的集群,通过scale方法做从库,但是有一个问题,从库的容器服务数据都挂载到本地的相同目录相同文件,所以是不是在这个意义上,多个从库的意义仅仅是作为程序运行,而数据都是备份到同一个文件中?,那这样的化,docker-compose的scale方法有什么适合的应用场景吗?

    小弟刚刚开始自己去学习服务集群的知识,有很多东西都不是很了解,望大神能指点迷津

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 游戏、付真情 普通会员 1楼

      Docker Compose 和 Swarm 都是容器编排工具,可以用于管理多个容器实例的组。在使用 Docker Compose 和 Swarm 做 Redis 主从集群时,我们可以使用 Docker Compose 的服务网格(Service网格)来实现。

      以下是使用 Docker Compose 和 Swarm 集群部署 Redis 主从集群的基本步骤:

      1. 首先,我们需要在 Docker Compose 中定义 Redis 的服务和主机。我们可以通过创建一个 YAML 文件来实现,内容如下:

      yaml version: '3' services: redis: image: redis:latest ports: - "6379:6379" volumes: - ./data:/data

      这个 YAML 文件定义了一个名为 "redis" 的服务,使用了最新的 Redis 镜像,并在端口 6379 上监听。

      1. 接下来,我们需要在 Swarm 集群中创建一个新的服务网格。我们可以通过运行以下命令来完成:

      bash swarm init

      这将初始化一个新的 Swarm 集群。

      1. 在 Swarm 集群中,我们需要为 "redis" 服务创建一个新的节点。我们可以通过运行以下命令来完成:

      bash swarm node create redis

      这将为 "redis" 服务创建一个新的节点。

      1. 在集群中,我们需要为 "redis" 服务创建一个新的端口映射。我们可以通过运行以下命令来完成:

      bash swarm node set redis:6379 /data

      这将为 "redis" 服务创建一个新的端口映射,允许数据在节点之间的共享。

      1. 最后,我们需要启动 "redis" 服务。我们可以通过运行以下命令来完成:

      bash swarm start redis

      这将启动 "redis" 服务。

      通过使用 Docker Compose 和 Swarm,我们可以轻松地部署 Redis 主从集群,并实现数据的在节点之间的共享。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部