isHooky 2020-06-25
记录最后一次对中型2C企业级项目的容器化改造
hello, 好久不见,之前文章记录了一个实战的2C分布式项目的改造过程,结果如下:
其中Redis并未完成容器化改造(目前是主机单点),本文记录将Redis升级到容器化Redis-Sentinel集群
。
receiver
、app
的Redis连接字符串,验证可附加
,方便Redis-Sentinel接入该网络,所有容器同网络。...... # 下面生成的overlay网络名称是:eqidstack_webnet networks: webnet: driver: overlay attachable: true // 应用程序Docker swarm overlay网络配置可附加容器 .....
/data
, 本处我们需要将现有的主机Redis dump.rdb文件外挂进Master容器。# 下面是master/slave docker-compose.yml文件 version: ‘3.7‘ services: master: image: redis container_name: redis-master command: redis-server --requirepass --masterauth volumes: - /home/redis-sentinel/redis/data:/data ports: - "6380:6379" networks: - webnet slave1: image: redis container_name: redis-slave-1 ports: - "6381:6379" command: redis-server --slaveof redis-master 6379 --masterauth --requirepass networks: - webnet slave2: image: redis container_name: redis-slave-2 ports: - "6382:6379" command: redis-server --slaveof redis-master 6379 --masterauth --requirepass networks: - webnet networks: webnet: external: true name: eqidstack_webnet
10.0.7.41:26379,10.0.7.42:26379,10.0.7.43:26379
是sentinel容器ip,serviceName
配置主节点名称。"redis": "10.0.7.41:26379,10.0.7.42:26379,10.0.7.43:26379,serviceName=mymaster1,,abortConnect=false,connectTimeout=10000,writeBuffer=40960"
本文记录较凌乱,需要了解本次实操的背景和过程。
总结起来:将主机上现有单点Redis服务容器化,并搭建哨兵高可用集群, 且将Redis集群与应用程序放在同一Overlay网络,便于同网络段容器通信。